GitHubでのメンションをslackに通知させる
概要
GitHub内でのメンションに気づかないことが多々あり, slackへの通知してくれたら便利だなーと思い調べていたら, 次のようなものを見つけました.
その設定についての備忘録です.
actions-mention-to-slackとは
GitHub Actionsを用いて,IssueでのメンションやPRのレビューリクエストなどで通知を投げてくれる機能です.
開発者の方が,Github上のメンションをSlackメンションに変換するGithub Actionsを作ったで詳しく解説してくださってます.
設定
設定の方法は非常に簡単で以下の流れで簡単にできます.
- https://api.slack.com/appsから,Create New Appで新しいアプリを作成.
- Incoming Webhooksをクリックして,Activate Incoming Webhooksをオンにする.
- Add New Webhook to Workspaceから,Webhook URLを取得する.
- 通知を行いたいGitHubのレポジトリのSettings -> secretsにおいて,
SLACK_WEBHOOK_URL
という名前の変数名で,Webhook URLを登録する. - GitHubのレポジトリに二つのファイルを追加する.
下記のように通知の設定を.github/workflows/slack-to-mention.yml
に記述
on: issues: types: [opened, edited] issue_comment: types: [created, edited] pull_request: types: [opened, edited, review_requested] pull_request_review: types: [submitted] pull_request_review_comment: types: [created, edited] jobs: mention-to-slack: runs-on: ubuntu-latest steps: - name: Run uses: abeyuya/actions-mention-to-slack@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} icon-url: https://img.icons8.com/color/256/000000/github-2.png bot-name: "Send Mention from abeyuya/actions-mention-to-slack" run-id: ${{ github.run_id }}
slackのユーザーとGitHubのユーザーの紐付けの設定を記述する.github/mention-to-slack.yml
を追加.
# For Github User # github_username: "slack_member_id" github_username_A: "slack_member_id_A" github_username_B: "slack_member_id_B" github_username_C: "slack_member_id_C" abeyuya: "XXXXXXXXX" # For Github Team # github_teamname: "slack_member_id" github_teamname_A: "slack_member_id_D"
slackのユーザーのIDは,slackのプロフィールから取得できます.
Profile -> more -> Copy member ID
6. 上記の内容をpushして完了です.
結果
こんな感じでチャンネルに通知してくれます.