前書き
お仕事で初めてJenkinsおじさんと触れ合う機会ができました。
その中でジョブが失敗した場合にメール、Teamsに通知する機能を試してみたのでご紹介します。
通知先
- メール
- Gmailを利用
- Microsoft Teams(Incoming Webhookを利用)
前提条件
- Jenkins 2.323
- メール通知にはEmail Extension Plugin 2.85を利用
- Teams通知にはOffice 365 Connector 4.15.2を利用
メール通知設定
メール通知にはEmail Extension Pluginを利用しますが、基本追加しなくても最初から入っていると思います。
このプラグインが無い場合には「プラグインの管理」から追加して下さい。
メール通知は今回はGmailを使います。
Gmailの準備
googleアカウントをご準備下さい。
JenkinsからGmailを使ってメールを送信する場合、「安全性の低いアプリの許可」を有効にする必要があります。
Jenkinsのシステムの設定
続いてJenkinsのメール設定を行います。
ダッシュボード➡︎Jenkinsの管理➡︎システムの設定を開きます。
「SMTP server」には「smtp.gmail.com」、「SMTP Port」には「465」、「Use SSL」はチェックONにします。
Credentialsは「追加」を押下し、「ユーザー名」と「パスワード」にGoogleアカウントを入力します。
あとは「Default Recipients」に通知したいアドレスを入力すれば完了です。
「Default Triggers」の項目から通知条件を色々と指定する事もできます。
Jenkinsのジョブの設定
通知をしたいジョブの設定画面を開きます。
画面の一番下の「ビルド後の処理」の「ビルド後の処理の追加」プルダウンから「拡張Email通知」を選択します。
「高度な設定」ボタンを押下し、「追加」ボタンを押下して「Recipient List」を選択して下さい。
ジョブが失敗した場合以外に通知をしたい場合は「ADD TRIGGER」から色々な条件を選択する事もできます。
以上でメール通知設定は完了です!
Teamsへの通知
何某かの理由でメール通知が出来なくなった場合に備え、保険としてTeamsへの通知も行う様にしておきます。
Webhook URLの準備
通知をしたいTeamsのチャンネルにマウスカーソルを合わせて「…」の部分をクリックします。
「コネクタ」を選択します。
「Incomming Webhook」の「構成」ボタンを押下します。
「着信Webフック」には用途に応じた分かり易い名前を入力し、「作成」ボタンを押下します。
イメージの変更はお好みで。
画面下の「Webhook URL」の部分のURLを後で使うのでコピーしておいて下さい。
JenkinsのOffice 365 Connectorプラグイン追加
Office 365 ConnectorがJenkinsに入っていない場合にはダッシュボード➡︎Jenkinsの管理➡︎プラグインの管理から追加して下さい。
Jenkinsのジョブの設定
通知をしたいジョブの設定画面を開きます。
「Office 365 Connector」の部分の「ADD WEBHOOK」を押下します。
「URL」には先ほどコピーしておいた「Webhook URL」を貼り付けし、「Name」には任意の値を入力します。
拡張Email通知同様、「高度な設定」から通知条件を色々選ぶことが出来ます。
以上でTeamsへの通知設定は完了です!