Masteries

技術的なことや仕事に関することを書いていきます.

JenkinsでHipChatに通知する

というわけで, JenkinsとBitbucketを連携してテストが出来るようになったら, 次はその結果をHipChatに通知したくなってくるのではないでしょうか?

というわけでその方法をまとめておきます.

HipChatプラグインのインストールと設定

Gitプラグインと同じように, 「HipChat Plugin」をインストールしましょう.

すると, ジョブの設定画面の「ビルド後の処理」で「ビルド後の処理の追加」を選択した際に, 「HipChat Notifications」が選択できるようになります.

f:id:papix:20150809181324p:plain

直近, HipChatのAPIを利用する場合, 部屋単位でTokenを発行できるAPI v2を利用することが多いのではないでしょうか. JenkinsのHipChatプラグインは, v1/v2両方のAPIに対応しているので, ここではAPI v2を利用する際の方法についてまとめておきます.

「Project Room」には, HipChatの各ルームに設定されている「API ID」を入力します. そして「API ID」に対応するルームに紐付いたトークンを「Auth Token」に入力します. 別途, デフォルトのトークンを設定することが可能で, これを利用する場合は空欄にしていても構いません.

そしてここからが重要なのですが, 設定画面から「API v2」を有効にしなければなりません.

f:id:papix:20150809181331p:plain

「Jenkinsの管理」から「システムの設定」を選択し, 「Global HipChat Notifier Settings」で, 「Use v2 API」のチェックをいれなければ, HipChatプラグインは常にAPI v1を利用しようとするので, 各ジョブの設定画面で「Auth Token」を正しく設定していても, 正しく通知を送ってくれません.

後は, 「API Token」にトークンを入力しておけば, 各ジョブの設定で「Auth Token」が空欄になっていても, ここで入力したトークンを利用してくれるようになります.

HipChatプラグインの動作確認は, 「API Token」と「Room」を入力した上で「Test configuration」をクリックすると, 次のようなメッセージをHipChatに送ってくれますので, これで確認することができます.

f:id:papix:20150809181337p:plain

まとめ

「Use v2 API」のチェックボックスの存在に気付かず, 1時間くらい無駄にしてしまったので, このような悲劇を繰り返してはならないと思いまとめておきました.