TECHSTEP

ITインフラ関連の記事を公開してます。

GitLab for Slack appを使用してGitLabのイベントをSlackに通知する

今回はGitLab for Slack appを設定する例を紹介します。

docs.gitlab.com

背景

GitLabとSlackを連携する方法は、現在は GitLab for Slack app の利用が推奨されています。以前は Slack notification も選択肢でしたが、こちらはGitLab 15.9 でdeprecatedとなり、18.0で廃止予定です。

docs.gitlab.com

検証

今回はGitLab SaaS版 (Freeプラン)で slack-notification-test というProjectを使用します。

まずは 設定 から 統合 を選択し、GitLabと統合可能なリストを表示します。

リストの中から GitLab for Slack app を探し、 設定する を選択します。

Slackアプリ用GitLabをインストール... を選択します。

画面が遷移し、Slackワークスペースのログイン画面が表示されます。インストール対象のSlackワークスペースにログインします。

GitLabがSlackにアクセスする権限を要求するので、許可します。

画面が遷移し、GitLab画面に戻ります。これでGitLabとSlackの統合が完了しました。

ここから動作確認をします。

GitLab for Slack app を導入すると、Slackから gitlab コマンドを実行可能になります。試しに /gitlab と入力すると、以下のように表示されます。

利用可能なコマンドはこちらのドキュメントに記載されています。ここでは /gitlab help コマンドを実行した結果を載せておきます。

続いて、GitLabのイベントをSlackに通知するよう設定します。GitLabの画面から 設定 統合 に移動し、 GitLab for Slack app に移動します。移動後の画面ではトリガーや通知設定などが表示されています。

ここではIssueの作成時にSlackに通知するよう設定します。 イシューが作成、更新、または完了されています という項目にチェックを入れると、次に通知先のSlackチャンネルを指定します。ここでは gitlab-test というチャンネルを用意しておき、設定します。

なお、通知先のSlackチャンネルがプライベートチャンネルの場合は、該当のチャンネルにGitLab for Slack appを追加する必要があります。

今回通知設定は特に変更しませんが、以下のような設定項目が並んでいます。特に Notify only boken pipelines は、パイプラインが失敗した時だけ通知を飛ばすので、便利かと思います。

画面下部の テスト設定 を選択すると、Slackとの接続テストを実行するようです。

上記変更後に 変更を保存 を選択し、新しい Issue を作成します。

作成するとSlackの通知が飛ぶことを確認できます。