Send Github Actions workflow status notifications to Slack regarding failures, warnings or even success. You can read more about the action in our blog post.
- Ability to control when to send notification
- Custom Notification Title, Message and Footer using template variables
- Mention Users and control when to mention them
- Mention Users Groups and control when to mention them
steps:
- uses: ravsamhq/notify-slack-action@v1
if: always()
with:
status: ${{ job.status }} # required
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
steps:
- uses: ravsamhq/notify-slack-action@v1
if: always()
with:
status: ${{ job.status }}
token: ${{ secrets.GITHUB_TOKEN }}
notification_title: '{workflow} has {status_message}'
message_format: '{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>'
footer: 'Linked Repo <{repo_url}|{repo}> | <{workflow_url}|View Workflow>'
notify_when: 'failure'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- uses: ravsamhq/notify-slack-action@v1
if: always()
with:
status: ${{ job.status }}
notification_title: '{workflow} has {status_message}'
message_format: '{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>'
footer: 'Linked Repo <{repo_url}|{repo}>'
notify_when: 'failure'
mention_users: 'U0160UUNH8S,U0080UUAA9N'
mention_users_when: 'failure,warnings'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
To get the Slack Member IDs, open the User profile you want to mention. Click More and Copy Member ID.
steps:
- uses: ravsamhq/notify-slack-action@v1
if: always()
with:
status: ${{ job.status }}
notification_title: '{workflow} has {status_message}'
message_format: '{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}>'
footer: 'Linked Repo <{repo_url}|{repo}>'
notify_when: 'failure'
mention_users: 'U0160UUNH8S,U0080UUAA9N'
mention_users_when: 'failure,warnings'
mention_groups: 'SAZ94GDB8'
mention_groups_when: 'failure,warnings'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
The following variables are available for formatting your own strings.
- {branch}
- {commit_url}
- {commit_sha}
- {emoji}
- {repo}
- {repo_url}
- {status_message}
- {run_url}
- {workflow}
- {workflow_url}
You can use these to construct custom notification_title
, message_format
and footer
.
In order to use
{workflow_url}
, specify as the token input astoken: ${{ secrets.GITHUB_TOKEN }}
.
status:
description: Job Status
required: true
token:
description: Github Token for accessing workflow url
required: false
default: ''
notification_title:
description: Specify on the notification message title
required: false
default: 'New Github Action Run'
message_format:
description: Specify on the notification message format
required: false
default: '{emoji} *{workflow}* {status_message} in <{repo_url}|{repo}@{branch}> on <{commit_url}|{commit_sha}>'
footer:
description: Specify the footer of the message
required: false
default: "<{run_url}|View Run> | Developed by <https://www.ravsam.in|RavSam>"
notify_when:
description: Specify on which events a slack notification is sent
required: false
default: 'success,failure,warnings'
mention_users:
description: Specify the slack IDs of users you want to mention.
required: false
default: ''
mention_users_when:
description: Specify on which events you want to mention the users
required: false
default: 'success,failure,warnings'
mention_groups:
description: Specify the slack IDs of groups you want to mention
required: false
default: ''
mention_groups_when:
description: Specify on which events you want to mention the groups
required: false
default: 'success,failure,warnings'
- Python - Programming
- Slack Webhooks - Notifications
Follow these instructions to get the project up and running.
# clone the repo
git clone https://github.com/ravsamhq/notify-slack-action.git
# change directory
cd notify-slack-action
# setup python virtual environment
python3 -m venv venv
# activate virtual environment
source venv/bin/activate
# install pip dependencies
pip install -r requirements-dev.txt
This project uses SemVer for versioning. For the versions available, see the tags on this repository.
- We are open for issues and feature requests.
- In case you get stuck at somewhere, feel free to contact at Mail.
© 2021 RavSam Web Solutions