【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