コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Jenkins】Slack と連携する基本的な方法(2020年9月版)

検証環境

  • Windows 10
  • Jenkins 2.249.1
  • Slack 4.9.0
  • Slack Notification 2.42

連携方法

Slack に Jenkins インテグレーションを追加

https://my.slack.com/services/new/jenkins-ci

上記のページにアクセスして

f:id:baba_s:20200918183105p:plain

Jenkins から通知を受け取るチャンネルを選択して
「Jenkins CI インテグレーションの追加」を押します

  • ここで選択したチャンネルが Jenkins から通知を受け取る
    デフォルトのチャンネルになります
    • Jenkins 側でチャンネルの指定を省略した時は
      ここで選択したチャンネルが Jenkins からの通知を受け取ります
    • デフォルトのチャンネルは後で変更可能です

f:id:baba_s:20200918183547p:plain

そして、ページが切り替わったら「Step 3」に表示されている
「インテグレーション用トークン認証情報ID」をメモしておきます

  • 後で Jenkins の設定画面で使用します

これで Slack 側の準備は完了です

Jenkins に Slack Notification プラグインをインストール

f:id:baba_s:20200918183846p:plain

Jenkins で「Jenkinsの管理」を選択して

f:id:baba_s:20200918183852p:plain

「プラグインの管理」を選択して

f:id:baba_s:20200918183902p:plain

プラグインマネージャーのページが表示されたら「利用可能」タブを選択して
検索欄に「slack notification」と入力して表示された「Slack Notification」をチェックして
「再起動せずにインストール」を押します

ページが切り替わってインストールが完了したら
Jenkins に Slack Notification プラグインをインストールする作業は完了です

Jenkins に Slack の認証情報を追加

f:id:baba_s:20200918183846p:plain

Jenkins で「Jenkinsの管理」を選択して

f:id:baba_s:20200918184148p:plain

「Manage Credentials」を選択して

f:id:baba_s:20200918184159p:plain

「(global)」を選択して

f:id:baba_s:20200918184204p:plain

「認証情報の追加」を押します

f:id:baba_s:20200918184212p:plain

そして、認証情報を設定するページが表示されたら

項目 内容
種類 Secret text
スコープ グローバル
Secret 先ほどメモした「インテグレーション用トークン認証情報ID」を入力
ID 認証情報の名前(ここでは「slack-token」とします)

上記のように項目を設定して「保存」を押します

これで認証情報の追加が完了です

Jenkins 側で Slack との連携を設定

f:id:baba_s:20200918183846p:plain

Jenkins で「Jenkinsの管理」を選択して

f:id:baba_s:20200918184559p:plain

「システムの設定」を押します

f:id:baba_s:20200918192042p:plain

そして、「Slack」の欄の項目を

項目 内容
Workspace Slack のワークスペースの名前
Credential 先ほど作成した認証情報を選択
Default channel / member id 通知を受け取るデフォルトのチャンネルやメンバーのID(省略可)

上記のように項目を設定して「保存」を押します

これで Jenkins 側に Slack との連携を設定できました

Jenkins のジョブで Slack に通知を投げるように設定

Slack に通知を投げたい Jenkins のジョブの設定画面を開いて

f:id:baba_s:20200918184940p:plain

「ビルド後の処理の追加 > Slack Notidfications」を選択します

f:id:baba_s:20200918184943p:plain

そして、Slack に通知を投げたいビルドのタイミングにチェックを入れて
ジョブの設定を保存します

これで、そのジョブをビルドすると指定したタイミングで
Slack に通知が投げられるようになります