Heroku ChatOps (Slack Integration) - route production events only - heroku

From Heroku ChatOps (Slack Integration) the only option I could find for routing pipeline notifications to a channel is:
/h route PIPELINE_NAME to #CHANNEL_NAME
But it is sending too many events.
I'm looking for production only events, something like:
/h route PIPELINE_NAME in production to #CHANNEL_NAME
*** UPDATE: Thu 11 Mar 2021:
I developed a solution and wrote an article about it:
https://blog.loadmill.com/heroku-slack-notifications-using-webhooks-and-aws-lambda-ce632a4021de

I too tried this and after much digging can confirm it is not currently possible.
It would be great to get more granularity on notification configurations (at app level instead of only pipeline level). In our case we would like to get only the following notifications:
Failing staging deploy notifications.
Successful and failing production deploy notifications.

Related

Post/response to slack in CircleCI

As part of my CircleCI pipeline, I would like to start the pipeline by running a command on slack - in this case /yoink deploy (we are using Yoink to manage shared resources, and trying to come up with a low-effort way to make sure people aren't stepping on each others toes during deployments). If the response back from the yoink bot is affirmative, continue along the build pipeline. Otherwise, stop it.
The challenge that I'm having is that the Slack integrations for circle let me post a message under different circumstances, but I can't figure out a way to make it use a reply from that posted message to choose next pipeline steps. My question is this:
Has anyone previously managed to do something like this with a slack integration with Circle, or is there some other CircleCI method that folks have used to lock and release said lock on deployments?

Bluemix logging issue to papertrail

Any idea why syslog:// protocol from bluemix app is not connecting to PaperTrail third party logging service?
Here is my process:
create user provided service
bind this service
restage
then on the papertrail nothing happens:
You can try it out. The testing app URL is:
http://658.eu-gb.mybluemix.net
Its just Hello world simple nodejs app.
Most likely the configuration is correct but you are not able to see anything on Papertrail because of a problem with Loggregator component; you should setup an application that iteratively writes on the log to see very few lines arriving.
In order to clear up the status, this is a general problem between Loggregator and logdrain systems (and Papertrail is one of those) and a fix has been testing and will be applied in the next versions of CloudFoundry.

OpenSSL::SSL::SSLErrorWaitReadable read would block

Currently seeing this error from our background workers on Heroku when posting text/plain queries to the Intuit v3 API. https://quickbooks.api.intuit.com/v3/company/123456789/query/
Ruby 2.1.2 and Rails 4.0.10
OAuth 0.4.5 https://github.com/oauth-xx/oauth-ruby
There is an error_message "Intuit's API timed out. They may be over capacity. Please try again later". I'm not sure if this is just an intermittent error that we should ignore, or if it's an issue on the Intuit side or with Ruby/OpenSSL on Heroku?
This error isn't happening a lot, but we have one customer who reports being unable to sync for a week.
Heroku timeouts are 30s. Intuit's api may be taking longer possibly. I suggest you try from a local machine or try to test from AWS if you are familiar or another cloud provider. Another thing you could do is test running the api on the command line from heroku console.

Errors Notifier for a Ruby command line app

I have a command line application and I would like to have a way to be notified if an error occurs via e-mail. It is a ruby command line app, it runs via a schedule cron job.
Anything that is fairly simple to setup would be greatly appreciated.
There are a couple of services that you can use to catch Ruby errors and exceptions. Most of them provide some kind of free package and all of them relay errors via email.
Sentry - free plan for 250 events per day with 7 day history. Email notifications. All you have to do is install raven-ruby gem and set SENTRY_DSN environment variable provided by Sentry.
Honeybadger - micro plan for $19/month for 3 apps with 7 day history. You install honeybadger gem and environment variable HONEYBADGER_API_KEY and you are ready to go. They also send notifications via email.
Raygun - They provide free trail without credit card, emails are also part of their service. You need raygun4ruby gem, instructions to use it with Rails can be found here.
Other option could be that you log your exceptions into log and then you create another cron job that sends you that daily report?
I'm adding this here in the hope that the next person that wants to add honeybadger to their app doesn't struggle with the same problem I did. If you're running honeybadger outside of a rails app, you need to start the service explicity.
ENV['HONEYBADGER_API_KEY'] = 'abc123'
Honeybadger.start
# Your code here...
Honeybadger.stop
If you don't start the honeybadger service, you won't be able to send notifications. I couldn't find anywhere that mentioned this important fact.

What is the simplest way to add logging to a background worker in AppHarbor

I have a console app that uses Quartz and sends out emails on a schedule. I want some basic logging so I can see if the app has started and configured (NHibernate) correctly, and also any stack traces from uncaught exceptions.
I could set up Log4net or similar to write log entries to a database table, or email them to me. But is there a simple way built into AppHarbor?
Use the LogEntries Add on. Then install the le_log4net nuget package and enter your api key in the app.config. There is a Free subscription that should tell you what you need.

Resources