LoginSignup
20
20

More than 5 years have passed since last update.

Jenkins + HipChatをHubotなしで連携する

Last updated at Posted at 2014-09-17

JenkinsとHipChatを連携させると、Jenkinsジョブの結果をHipChatに通知したり、HipChatからbotコマンドを投げてJenkinsのジョブを起動したりすることができます。
HipChatそのものや、Hubotを使った連携のさせ方は以下を参照。

Jenkins+HipChat+Hubotをチーム開発に導入してお手軽CI - @IT

で、Hubotを運用するのも面倒なので、Jenkinsプラグインだけでお気軽にbotコマンド対応させる方法がこちらです。

設定方法

HipChatにJenkins用のアカウントを作成する

Jabber Pluginが使用する、HipChatのアカウントを作ります。Jenkins側では、XMPP/Jabber infoで表示される値を設定していきます。上記のサイトに詳しい手順が載っています。

アカウントを作成したら、利用したいチャットルームを作成しておき、アカウント設定ページからJabberでの設定値を確認しておきます。
HipChat Account Setting

JenkinsにJabber Pluginをインストールする

他のプラグインを入れる方法と変わりありません。アップデートセンターからインストールできます。
HipChat Pluginとの違いは、このプラグイン自体がbot機能を持っていることです。

HipChatはXMPPプロトコルに対応しているので、HipChat PluginのようにAPIを経由せずとも、XMPPに対応するJabber Pluginで普通に利用できるのです。

Jenkinsの設定

Jenkinsのシステム設定で、Jabber Pluginの設定を行います。
Jabber Notification

HipChatで作成したJenkins用アカウントのJabber IDとPasswordを入れ、「高度な設定」を押すと出てくる NicknameJenkins Username にHipChatのRoom nicknameを入力します。

Initial group chat には、botコマンドを待ち受けるグループチャットを任意の数追加できます。 Name には、HipChatのルーム名@conf.hipchat.comを入力します。

この設定後、JenkinsのログにHipChatとの接続状況が出力されます。もしエラーが出てる場合は、メッセージを見ておかしいところを修正してみてください。

使ってみる

ジョブ結果の通知

Jenkinsからジョブの結果を通知するには、ジョブの設定ページにて、ビルド後の処理にJabber Notificationを追加します。
Job Config

Targetsには、*HipChatのルーム名@conf.hipchat.com を指定します。高度な設定から、通知する内容を変更することもできます。

botコマンド

Initial group chat に設定したHipChatのチャットルームで !help と打ってみましょう。うまく接続できていれば、Jenkinsがボットコマンドの一覧を返してくれます。
Bot

!build <ジョブ名> で任意のジョブをキックしたり、!statusでジョブの成功・失敗を一覧で取得したりすることができます。

というわけで、Jenkinsのジョブをキックするためのスクリプトを書いたりせず、お気軽に連携させることができました。めでたしめでたし。

※この記事は、ブログに書いたものをQiita向けに整形したものです。

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20