Send Slack notification when Github Actions fails
We can easily monitor our Github Actions status by sending success or failure notifications to our Slack channel.
This blog was originally published on RavSam blog.
We must be sure that if you and your team use Github, then you must using Github Actions as well. When a Github Action fails, Github automatically sends you an email regarding the event. It works only if you are working on an individual project. However, when we are working in a team, we need a better way to monitor our Github Actions. We need to know the status of our Github Actions specifically when they fail so that our development team can act upon them as quickly as possible.
We faced this issue often at our workspace. So our team decided to publish a new Github Action that can be used effectively to notify our Slack channel whenever our Github Action fails.
Get a Webhook URL
To send notifications to our Slack channel, we need to create a Slack App. We can follow this easy tutorial that includes tips on how can we create our own Slack App and get a webhook URL. Once we have a webhook URL, we need to add it to the Github Actions secrets with the name ACTION_MONITORING_SLACK
Use notify-slack-action
We assume that we already have a Github Action that fails often and we need to monitor it. Add the above the following step in the Github Action workflow:
- name: Report Status
if: always()
uses: ravsamhq/notify-slack-action@v1
with:
status: ${{ job.status }}
notify_when: 'failure'
env:
SLACK_WEBHOOK_URL: ${{ secrets.ACTION_MONITORING_SLACK }}
You can find and read more about the action at Github Marketplace.
That’s it. This is all we need to monitor our Github Actions workflow. If we want to monitor each run of our Github Action workflow even when it succeeds, we can simply change the notify_when
parameter value to success,failure,warnings.
Results
We will fail our Github Action deliberately to test our Github Actions monitoring.
Failure notification received in Slack
Failure notification received in Slack
Alright! We can see that a notification message was sent to our Slack channel stating the commit and repository it failed in. This is extremely useful when we have multiple projects using Github Actions and we want to keep a check on our Github Actions workflow. We strongly feel that this action will increase the productivity of any team at any workspace.
Thanks for reading 💜
If you enjoyed my blog, follow me for more informative content like this.
I publish a monthly newsletter in which I share personal stories, things that I am working on, what is happening in the world of tech, and some interesting dev related posts which I across while surfing on the web.
Connect with me through Twitter • LinkedIn • Github or send me an Email.
— Ravgeet, Full Stack Developer and Technical Content Writer