【Slack】GitHubと連携してPushやPRなどの通知を受け取れるようにしよう
Slack と GitHub を連携させることで、
コードの変更やプルリクエストの進捗、新しいイシューの作成などをリアルタイムに通知できます。
これによって、チーム全体のコミュニケーションをスムーズにし開発効率が向上します。
では、実際に連携していきましょう!!
GitHub と連携するためのアプリを Slack へインストール
インストールするアプリのドキュメントは ↓ です
slack.github.com にアクセスして、「Add to Slack」をクリックします

「許可する」をクリックします

Slack が開かれ、App に GitHub が追加されています。

また、GitHub からDMが来ています

GitHub のアカウントと連携する
GitHub アプリに対して下記のメッセージを送ります
/github signin
返ってきたメッセージ内の「Connect GitHub account」をクリックします。

WEB ブラウザでページが開くため、「Connect GitHub account」をクリックします。

続いて GitHub で Slack を認証していいか聞かれるので、「Authrorize Slack」をクリックします

認証コードが発行され、

Slack に戻って、このコードを GitHub アプリに送ります
「Enter code」をクリックするとダイアログがでるので

先ほどの認証コードを打ち込みます

GitHub との連携が完了すると新しくメッセージが届きます

【必要に応じて】通知用チャンネルを作成する
普段やり取りしているチャンネルに通知するとメッセージが流れてしまいます。
特に開発が活発なプロジェクトだと GitHub からの通知が邪魔になってしまうかも。
なので、GitHub からの通知用のチャンネルを作成することをオススメします。
チャンネル名に GitHub からの通知ということがわかるといいと思います
通知される項目
デフォルトで通知される項目
⇒ 通知開始したら受け取れる項目。通知オフにもできる。
| 項目 | 通知タイミング |
|---|---|
| issues | issuesのオープン/クローズ |
| pulls | PRの作成/マージ |
| commits | デフォルトブランチへのコミット |
| releases | releasesのpush |
| deployments | Deployment status の更新 |
デフォルトでは通知されない項目
⇒ 通知開始しても受け取れない項目。通知オンにする必要がある。
| 項目 | 通知タイミング |
|---|---|
| workflows | GitHub Actions の実行 |
| reviews | PRへのレビュー |
| comments | issues や PR へのコメント |
| branches | ブランチの作成/削除 |
| commits:* | すべてのブランチへのコミット |
| +label:"your label" | 指定したラベルを持つissues や PR、コメント |
| discussions | discussions の作成や回答 |
通知設定
通知を受け取る Slack チャンネルに移動し、 コマンドを実行します。
コマンドを実行した際に下記メッセージが表示された人向け

「Install GitHub App」をクリックすると、 Slack からアクセスしていいリポジトリを選択するページが表示されますリポジトリを選択したら、「Install」をクリックしてください
これでSlack から GitHub のリポジトリを参照できます
通知の開始/停止
// 通知の開始
// 特定のリポジトリのみ通知開始
/github subscribe owner/repository
// ownerのリポジトリに関してすべて通知開始
/github subscribe owner
// 通知の停止
// 特定のリポジトリのみ通知停止
/github unsubscribe owner/repository
// ownerのリポジトリに関してすべて通知停止
/github unsubscribe owner
通知される項目の追加/削除
// 通知される項目の確認
/github subscribe list features
// 通知項目の追加
/github subscribe owner/repo [通知項目]
// 全項目の追加
/github subscribe owner/repository issues,pulls,releases,deployments,reviews,comments,branches,commits:*,discussions
// 通知項目の削除
/github unsubscribe owner/repo [通知項目]
動作確認
push
push 時にはpush と commit の通知がきます

PR 作成&コメント
PR 作成時のスレッドにコメントの内容が通知されます

PR マージ
マージするとPR 作成時のスレッドに通知がきます

マージ時にはブランチへの push 通知やマージ元のブランチ削除の通知もきます

参考
Discussion