SlackとGitHubを連携してSlackで通知を受け取る方法!コマンドの設定は?
ビジネスチャットツールであるSlackをGitHubと連携させることができるのをご存知でしょうか。GitHub上でのアクションがSlackで通知されるようにする方法とその際に使用するコマンドの設定についてご紹介いたします。
目次
SlackとGitHubを連携させるメリット
ビジネスチャットツールのSlackとGitHubを連携させることで、GitHub上で行ったアクションをSlack上で自動的に通知するよう設定することができます。
連携させておくことで、GitHubでプルリクエストなどをする度に他のプログラマーに向けてメッセージを書かないといけない、などの手間を省くことができます。開発者の多いプロジェクトの場合や、早くフィードバックが欲しい場合にはとても便利です。
万が一、GitHubとの連携を設定したメンバーがSlackのワークスペースを退出しても連携が解除されることはありません。また、GitHubは特定のチャンネルにのみ追加させることもできるので試験的に導入する際にも便利でしょう。
GitHubとは?使用する前に知っておくべき知識
中にはそもそもGitHubがどんなものなのか知らない方もいらっしゃるでしょう。GitHubとは何なのか、GitHubを使用する前に知っておくべき知識について解説いたします。
GitHubとはソフトウェア開発者向けに作られた開発プラットフォームです。GitHubでソースコードを共有することで、自分以外の多くの開発者とコードの検証や、プロジェクトの進捗確認をすることができます。
より効率的なソフトウェア開発を可能にするプラットフォームであり、プログラマーの方だと馴染み深いアプリケーションかもしれません。
しかし、GitHubをご存知ない方がいきなりGitHubを使用するのはなかなかハードルが高いものです。GitHubを使用する前に知っておくべき知識について解説いたします。
リポジトリ
「リポジトリ」は情報工学上でソースコードに限らず仕様やテスト情報など、システム開発に関するデータ全てを含む貯蔵庫、という意味合いがあります。
データベースの一種であるリポジトリでは、ソフトウェアの開発や保守に関わる工程内の情報が全て記録・管理されてるため、リポジトリを共有するだけで更新情報を含めた開発状況の共有が可能です。
プログラマーは、各マシン内部にある「ローカルリポジトリ」と社内ネットワーク上などに存在する「リモートリポジトリ」の二種類のリポジトリを活用して作業します。
「ローカルリポジトリ」では各プログラマーの作業情報が管理され、「リモートリポジトリ」ではネットワークを介してプロジェクト全体の情報が統合・管理されています。
コミット・プッシュ
「コミット」と「プッシュ」は先ほど説明したリポジトリに作業情報を保存することを指す用語です。コミットはローカルリポジトリに保存すること、プッシュはリモートリポジトリに保存することを意味します。
ブランチ
ソフトウェアの開発では既にリリースされているバージョンのメンテナンスと並行して、バグ修正や新機能を追加する場合もあります。そういった場合に「ブランチ」を使用します。
ブランチでは作業情報を開発ごとに分岐させて保存します。ブランチを使用することで、一つのリポジトリ内でも開発ごとに作業情報を分けて管理することができます。
Issue
「Issue」とはGitHubにある機能の一つです。Issueを活用することでプロジェクトにおける課題をGitHub内部のデータと紐づけて管理することができます。課題に関する情報を集約することで課題解決のために何が必要なのかを分かりやすくすることができます。
SlackとGitHubを連携させた場合には、Issueでの変更はデフォルトで通知が行われるようになっています。変更の度にSlackで通知がされるのでより早い課題解決を可能にします。
SlackにGitHubを連携する方法
ここからは実際にSlackにGitHubを連携する方法をご紹介いたします。
Webサイトにアクセス
まずは以下のアドレスにアクセスしてください。
slack.github.com
アクセスすると下の画像のように連携を設定できるページが開かれます。ページ内にある"Add to Slack"をクリックしてください。
アクセス権限を確認
すると権限のリクエスト画面になります。画面の右上でGitHubをインストールするSlackのワークスペースを指定することができます。表示されているワークスペースで問題なければ"続行する"をクリックしましょう。
チャンネルを選択
ここではGitHubから通知を受け取るSlackのチャンネルを選択することができます。「すべてのパブリックチャンネル」「特定のチャンネル」「チャンネルなし」のいずれかを選択してください。
どのリポジトリをどのSlackのチャンネルで受け取るかの設定はインストール後に設定できるようになっています。
インストール
選択したら"インストール"をクリックしましょう。
Slackへのインストールが完了すると、自動的に連携を設定したSlackのワークスペースに飛ばされます。Slackの画面左側にあるApp内にGitHubの通知が届いているのが確認できます。
SlackでGitHubの設定を変更する方法
SlackでGitHubの設定を変更するには、アプリの設定画面を開く必要があります。SlackのAppにある"⊕"をクリックしてください。
するとSlackと連携させているアプリの一覧画面が開かれます。画面左上の"アプリを管理する…"をクリックしましょう。
アプリに関する設定の管理ができる画面が開かれます。画面内の"GitHub"をクリックしてください。
GitHub専用のページが開かれます。"設定"をクリックしましょう。
ここではGitHubがアクセス可能なチャンネルの設定を変更ができます。インストールする際に「すべてのパブリックチャンネル」を選択していた場合にはここでアクセス対象外のチャンネルを指定することができます。
GitHubを利用してSlackで通知を受け取る方法
GitHubを利用してSlackで通知を受け取るためには通知させたいチャンネルのメッセージ入力欄にコマンドを入力・送信する必要があります。ただし、「特定のチャンネル」を選択していた場合はそのチャンネル以外でコマンド入力をしても通知の設定はできません。
他のチャンネルでも通知設定が必要になった場合は通知できるようにしたいチャンネルで/invite @GitHubと入力・送信してください。そうすれば通知設定が可能になります。
通知追加のコマンド・通知削除のコマンドをはじめ、通知の設定に関わるコマンドをご紹介いたします。
通知追加のコマンド設定
最初にご紹介するのはSlackのチャンネルで通知追加を設定するコマンドです。
/github subscribe オーナー/リポジトリ
それぞれ通知させたいGitHubのオーナーとリポジトリの名称に置き換えてコマンドを入力してください。
通知削除のコマンド設定
次は通知追加を設定したものの後から通知削除する際に通知削除を設定するコマンドです。チャンネルへの通知削除を設定するコマンドには /github unsubscribe を使用します。
/github subscribe オーナー/リポジトリ
追加コマンドと同様に通知を削除したいGitHubのオーナーとリポジトリの名称に置き換えてコマンドを入力してください。
デフォルトの通知設定
Slackでのデフォルトの通知設定は以下の表のようになっています。デフォルトで通知されない機能の通知を受け取りたい場合はコマンドで通知追加を設定する必要があります。
デフォルトで通知される機能 | デフォルトで通知されない機能 |
issues | public |
pulls | comments |
statuses | branches |
コミット | commits:all |
deployments | |
public |
コマンド一覧
コマンド | コマンドの指示内容 |
/github subscribe オーナー/リポジトリ | 通知追加を設定 |
/github unsubscribe オーナー/リポジトリ | 通知削除を設定 |
/github subscribe オーナー/リポジトリ 機能 | 特定の機能に限り通知追加を設定 |
/github unsubscribe オーナー/リポジトリ 機能 | 特定の機能に限り機能の通知削除を設定 |
/github subscribe list | 通知設定したリポジトリの表示 |
インストールする際に「すべてのパブリックチャンネル」を選択していた場合はこの/githubコマンドをどのチャンネルでも使用することができ、通知の設定が可能です。
GitHub連携でSlack上にすぐ通知できる!設定してみよう!
SlackとGitHubを連携させることで、GitHub上で行ったアクションをSlack上ですぐに通知するようになります。連携させることで通知の手間がなくなり、より効率的にソフトウェア開発を進めることができます。
GitHubの通知設定自体も簡単に行えるのでぜひ試してみてはいかかでしょうか。