読者です 読者をやめる 読者になる 読者になる

No Web Service No Life

クラウドソーシングサービス「ランサーズ」のプロデューサーです。Webサービスや構成要素(UIや技術)について書いています。

JenkinsとHipChatの通知連携方法


最近、自社主催の勉強会で、クックパッドさんやfreeeさんなど、技術力の高いWeb企業さんの開発スタイルを聞く機会が立て続けにありました。その中で、HipChatに各種ツールの通知を集約している企業さんが多く、「便利そう」というのと、「やばい!取り残される!」という焦りから、ランサーズでも導入してみました。

HipChatの導入

アカウント開設は簡単で、普通のWebサービスと同様にできました。30日間、5アカウントまでのフリートライアルプランがあります。
f:id:kkino0927:20131019152338p:plain

ブラウザ版以外にも、デスクトップアプリ、スマホアプリなどなどプラットフォーム対応は充実しています。
f:id:kkino0927:20131019155633p:plain

Jenkinsとの連携

ざっくりしたフローは以下のとおりです。10分もあれば完了します。

  1. Jenkins側でプラグインを入れる
  2. HipChatでトークンを発行
  3. Jenkins側でトークンの設定
  4. 通知対象のジョブで通知設定

Jenkinsにプラグインを入れる

Jenkinsの管理 > プラグインの管理 から、フィルターでhipchatを検索
2つ引っかかるのですが、説明が「This plugin is a HipChat notifier that can publish build status to HipChat rooms. 」となっている方を選択します。
f:id:kkino0927:20131019153456p:plain

HipChatでトークンを発行する

HipChat側で、Group admin > API を選択し、Lavelを適当に入力してCreateをクリックするとトークンを生成できます。(ここから直接、生成ページにいけます)
f:id:kkino0927:20131019153944p:plain

Jenkinsでトークンを設定

Jenkinsの管理 > システム管理 に移動し、Global HipChat Notifier Settingsにトークン等の情報を入力します。Roomは適当でいいっぽいです。
f:id:kkino0927:20131019154332p:plain

Jenkinsで通知対象のジョブの設定を変更

通知対象のジョブの設定ページに移動し、HipChat NotificationsのStart Notificationにチェックを入れることで、ジョブ実行時に通知を飛ばすことができます。
f:id:kkino0927:20131019154850p:plain
ジョブ実行結果を通知するには、同じページの下部になる「ビルド後の処理の通知」からHipChat Notificationsを選択します。こちら選択するだけで大丈夫です。
f:id:kkino0927:20131019154930p:plain

ジョブを実行→通知

ジョブを実行すると、HipChatに通知されました。最初なぜか失敗したけど、開始と終了がちゃんと通知されてきました。OpenのリンクからJenkinsに飛べるのも便利です。
f:id:kkino0927:20131019155343p:plain


今後は、New Relicのアラートとか色々なツールと連携したり、ルームを分けて効率的な管理ができるようにいじってみようと思います。

広告を非表示にする

最新のWebサービス・スマホアプリの情報が毎日メールで受信できるキュレーションサービス『Service Safari』を運営しています。
エンジニアを募集していますので、ご興味のある方はFacebookやTwitterからご連絡ください。