先日、SlackとJenkinsの連携にかかる設定を行ったのですが、Jenkins側の設定内容が、参考にさせていただいた記事の内容から変わっていたので、2020/8時点の設定内容を残そうと思います。
環境
Amazon Linux2
Jenkins 2.235.5
Slack Notification Plugin 2.40
Slack
Slack側の設定
1.メニューの[App]から「Jenkins CI」を検索し、追加ボタンを押下する。
2.Slackに追加ボタンを押下する。
3.Jenkinsを追加したいチャンネル(ここでは#testjenkinsとしている。)を選択し、JenkinsCIインテグレーションの追加ボタンを押下する。
4.セットアップの手順のStep3にある「チームサブドメイン」と「インテグレーション用トークン認証情報 ID」をメモしておく。なお、文中にあるグローバル Slack 通知者設定(Global Slack Notifier Settings)は、2020/8時点ではSlackとなっていて、入力項目も変わっている。
Jenkins側の設定
1.メニューの[Jenkinsの管理]→[システムの設定]を選択し、スクロールしてSlack欄を表示する。
2.WorkspaceにSlackの設定でメモしたチームサブドメインを入力する。
3.CredentialのプルダウンからJenkinsを選択する。
4.下表のとおり入力し、追加ボタンを押下する。
項目名 | 設定値 |
---|---|
Domain | グローバルドメイン |
種類 | Secret Text |
スコープ | グローバル |
Secret | Slackが発行したインテグレーション用トークン認証情報 ID |
ID | 任意(ここではslack-tokenとする。) |
5.Credentialに上記3のIDを入力する。Test Connectionボタンを押下し、Successが表示されれば設定はOKなので、保存ボタンを押下する。
6.Slackと連携させたいジョブを選択し、「ビルド後の処理の追加」からSlack Notificationsを選択する。
実行
できてしまえば簡単ですが、Slack側のJenkins周りの設定に関する説明が古いままとなっていたりと、設定するのに少し苦戦しました。
参考
以下の記事を参考にさせていただきました。