JenkinsからHipChatへの通知が動かなくて、ハマッたので解決メモ
JenkinsとHipChatの連携設定
バージョン
- Jenkins ver. 2.32.3
- HipChat 2017/3/19版?
HipChatの設定
Tokenが得られるので、この文字列をJenkinsに設定する。(以下で説明します)
Jenkinsの設定
Jenkinsをインストール
(手順は省略)
HipChatのプラグインをインストール
Jenkinsトップページから、「Jenkinsの管理」を選択
「利用可能」のタブを開き、HipChat Pluginにチェックを入れてインストールする。
Jenkinsのシステム(共通)設定
Jenkinsの再起動後、
再びJenkinsのトップページより、「システムの設定」を選択
「Global HipChat Notifier Settings」にてHipChatの設定を行う。
まず、「Use v2 API」にチェックは「入れない」
「Room」にはメッセージを送るHipChatのRoom名を設定する。
次に、Credentialsの「追加」ボタンから、
「種類」で、「Secret text」を選択
「Secret」に、HipChatで取得したTokenを設定する。
「ID」に任意のIDを入れておく
そして、「Test configuration」ボタンを押して
「Test Notification Sent」が表示されたらOK!
各プロジェクト(ジョブ)での設定
次に実際のプロジェクト(ジョブ)で、HipChatへの通知設定を行います。
まず、ジョブの「設定」を選択。
「ビルド後の処理の追加」から「HipChat Notifications」を選択。
「Credentials」「Project Room」はシステム設定が使われるので、ここで設定する必要は無い。
「Notifications」を「追加」して、メッセージを送りたいタイミングや色、メッセージのテンプレートを記載する。
「保存」を押して設定終了。
動かしてみる
「ビルド手順の追加」で、「Windowsバッチコマンドの実行」を選択。
以下を記述しビルドを実行してみる。
echo 'Hello World!'
exit 0
そして、今度はビルド失敗ケースとして、エラーコードを0以外に変えてみる
echo 'Hello World!'
exit 1
注意
HipChatのToken取得方法によって、Jenkinsの設定が変わるので注意が必要。
実は、これではまった。。。
別の取得方法の場合、
HipChatのWebページトップから「インテグレーション」を選択。
この先のページからTokenを取得した場合、Jenkinsのジョブ設定で「Use v2 API」にチェックを入れる必要が有る。