You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
GitHub Action
Notify Slack Action
1.3.0
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
status:
description: Job Status
required: true
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: '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'
The following variables are available for formatting your own strings.
- {branch}
- {commit_url}
- {commit_sha}
- {emoji}
- {repo}
- {repo_url}
- {status_message}
- {workflow}
You can use these to construct custom notification_title
, message_format
and footer
. To get an idea see the workflow below.
steps:
- uses: ravsamhq/notify-slack-action@1.2.0
if: always()
with:
status: ${{ job.status }} # required
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} # required
steps:
- uses: ravsamhq/notify-slack-action@1.2.0
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'
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- uses: ravsamhq/notify-slack-action@1.2.0
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@1.2.0
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 }}
- 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.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