🚀
GitHubActionsからSlackへ任意のメッセージ連携をやってみました
やってみた
-
Slack公式サイトでWebHookを作成します。
※リンクは手順短縮のためincoming-webhookです。セキュリティ的に非推奨ですので業務で使う分にはslackbotの手順からwebhookを取得しましょう。 -
発行したURL(http:/xxxx)をGitHubの設定からシークレット登録します。
-
GitHub Actionsのコードを作り、Pushします。
/.github/workflaws/slack.yaml
name: Slack Incoming Webhooks
on:
push:
branches: [ main ]
pull_request:
env:
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_URL }}
SLACK_USERNAME: DeployBot
SLACK_CHANNEL: 20230916-githubactions
SLACK_ICON: https://avatars.githubusercontent.com/u/44036562?s=200&v=4
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Slack Notification on Success
uses: rtCamp/action-slack-notify@v2
env:
SLACK_TITLE: Message
SLACK_MESSAGE: 'Deploy Success :rocket:'
SLACK_COLOR: good
rtCamp様のaction-slack-notifyを使わせて頂きました。こちらMITライセンスなので商用利用が可能です。
- 動かしてみます。他の環境変数に関しての動作は
README.md
をみて、それでもわからなかったらmain.go
を読むと簡単にわかると思います。
さいごに
このActionsはかなりシンプルかつ直感的な使用感なところがおすすめと思っています。
そのまま使うのが気になる方はMITを意識してフォークしてもよいでしょう(200人以上が既にフォークしています)
メッセージに正常ログやエラーログを出したい方。メインとなるGitHub Actionsの結果を任意メッセージでSlack通知したい方に良さそうかなと思います。
利用される際はSlack社が公開しているslackapi/slack-github-actionもありますので比較検討されるとよいでしょう。
シンプルかつ直感的という点を重要視し、本記事ではrtCamp/action-slack-notifyを選択しています。
Discussion