This article will show you a way how to send a notification automatically after you published a release on github.
This way will include Github Actions and Slack Incoming Webhook.
Original Source
cyublog | Send A Slack Notification Automatically When A Release Is Published On Github
Purpose
Create github release.
↓
Publish the github release.
↓
Automatically send a message which contains tag_name, author, release body, github url of the release to slack.
Process
Prepare Slack Incoming Webhook Url
Follow this article Incoming webhooks for slack, and we will get a url that can be use in Github Actions to send messages.
Github
Here are two things has to do.
- set the slack incoming webhook url to the Actions secrets.
- Create a Github Actions workflow.
Actions secrets
Go to the github repository,
click Settings tab -> Secrets -> New repository secret.
-> Name: SLACK_WEBHOOK_URL, Value: The slack incoming webhook url.
Workflow
1. Go to the github repository, click the actions tab to open the github actions page.
(The page link maybe https://github.com/{user_name}/{repository_name}/actions
.user_name, repository_name must be changed to yours.)
2. Create a New workflow.
I will create my workflow, so click set up a workflow yourself link to open a basic workflow.
Enter the workflow file name and edit the contents.
Here is the contents of workflow file.
name: ReleaseNotice
on:
release:
types: [published]
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
# To check the github context
- name: Dump Github context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Slack Notification on SUCCESS
if: success()
uses: tokorom/action-slack-incoming-webhook@main
env:
INCOMING_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
with:
text: A release is published.
blocks: |
[
{
"type": "header",
"text": {
"type": "plain_text",
"text": "${{ github.event.release.tag_name}} is published!"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Author:*\n${{ github.actor }}"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Information:*"
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": ${{ toJSON(github.event.release.body) }}
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "${{ github.event.release.html_url }}"
}
}
]
3. Start Commit
You can commit it to main branch or other branch to let the workflow be launch.
Test
The workflow will be launched when you publish a release from the branch that the workflow is committed.
Now, create a new release and published it. You will see the message is send to your slack channel.
Top comments (0)