githubでmentionされたらslackへ通知する設定 (所要時間約10分)

git

概要

  • github上でmentionされても気づくのが難しい状態でした。メールはいろいろな通知が送られてくるし、githubのwebサイト上の通知欄は自分から見に行かないと行けないし、後ほどTODOとして未読に変更ができないので自分のタスク管理がしづらい状態でした。
  • github-mention-to-slackというGithub Actionがあったので設定してみたところ、かなり快適でした。
  • 紹介されている設定では、運用に不十分なところが多かったので、ほとんどコピペでできるような設定をgistに置いておきます。

設定

githubのrepositoryまたはorganizationのSecretにSLACK_WEBHOOK_URL_FOR_MENTIONとうキーでSlackのwebhook URLを登録します。

(organizationに登録しておけば設定を使い回せるので楽です)

以下を実行して、Github Actionsの設定ファイルを2つ作ります。

cd path/to/repository
mkdir -p .github/workflows
curl https://gist.github.com/matsubo/69f994a3a9830973c56fd8322798f60f#file-mapping-mention-to-slack-yml > .github/mention-to-slack-yml
curl https://gist.githubusercontent.com/matsubo/69f994a3a9830973c56fd8322798f60f/raw/731171a269ad11befc9e15c4a47bf1059c6ef541/mention-to-slack.yml > .github/workflows/mention-to-slack-yml

次に、githubのアカウントとSlackのアカウントのマッピングをgithub/mention-to-slack-ymlに書きます。

サンプル

# For Github User
# github_username: "slack_member_id"
# please_replace_me_11: U01G30S9LHW
# please_replace_me_4: U011F5DRG2V

# 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はその人のプロフィールをクリックして表示される英数字10桁ぐらいの文字です。

これで設定はおわりなので、commitしてpushしてメインとなるブランチにmergeされた状態にすればOKです。

送られてくるメッセージこんな感じ。

これで、手元のslackで未読、既読の管理ができるし、リマインダも設定できます。取りこぼしも激減しました。

ちなみに、pull requestのassignが行われたときにもその人へ通知が来ます。

github上でコメントに後からmentionを追加した場合は通知は飛びません

コメント