今回はGitLab for Slack appを設定する例を紹介します。
背景
GitLabとSlackを連携する方法は、現在は GitLab for Slack app
の利用が推奨されています。以前は Slack notification
も選択肢でしたが、こちらはGitLab 15.9 でdeprecatedとなり、18.0で廃止予定です。
検証
今回は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の通知が飛ぶことを確認できます。