Monospace

in Yokohama

HipChatとJIRAを連携させる

JIRA上で課題チケットに何らかの変更があった時、それをHipChatの特定のルームに通知することができます。下記に手順を説明します。

 

下記の手順、JIRAのあるプロジェクトで課題チケットが起票された際に、HipChatに通知を飛ばすようにします。

 

この設定のために必要なものは

  • HipChat APIの認証トークン(HipChatグループ管理者のみ発行可能)
  • JIRAのシステム管理者アカウント
  • プラグイン HipChat for JIRA (OnDemandを利用の場合は不要)

です。ここではプラグインのインストール手順は省きます。

 

1. HipChat APIの認証トークンを取得する

1-1. HipChat Group Adminにログイン

Group AdminのメニューにあるAPIをクリックします。パスワードを再度聞かれるので入力してください。

f:id:nyumi:20140526202800p:plain

1-2. トークンの作成

"Create new token"のフォームに下記を入力して"Create"を押します。

  • Type :  Administration (Notificationだと動作しません)
  • Label : JIRA (* 好きな名前を付けます)

f:id:nyumi:20140526203752p:plain

16進数の認証トークンが発行されました。これをJIRAに設定します。

 

2 JIRAにHipChatの認証トークンを設定する

2-2. JIRAにシステム管理者でログイン

ログイン後、右のツールチップアイコンf:id:nyumi:20140526205234j:plainから、"システム"を選択します。

システム画面のサイドバーにHipChat設定、のメニューがあるのでそれをクリックします。

f:id:nyumi:20140526205341p:plain

 

2-2. 認証トークンを設定

先ほどHipChatの管理画面で作成したトークンを入力します。

  • https://api.hipchat.com (デフォルトのまま)
  • 管理トークン: 先ほどHipChat管理画面作成したトークンを入力

"Save"を押します。上部に"HipChat 設定の保存に成功しました。"とメッセージがでればOKです。

 

3 JIRAのワークフローにHipChat通知のアクションを設定する

JIRAからHipChatへの通知を実際に設定するためには、JIRAの各プロジェクトに設定されているワークフロー内の遷移(トランジション)でPost function(事後操作)の追加、という機能を利用します。つまり、課題に対して、状態(ステータス)の遷移が発生したときに発生するアクションを登録します。

3-1. JIRAにシステム管理者でログイン

ログイン後、右のツールチップアイコンf:id:nyumi:20140526205234j:plainから、"課題"を選択します。

システム画面のサイドバーにワークフロー、のメニューがあるのでそれをクリックします。

3-2. ワークフローの確認

各プロジェクトで有効になっているワークフローの一覧が出てきますので、設定したいプロジェクトのワークフローの右にある操作-編集をクリックします。

"ダイアグラム"タブを押して、ワークフローの状態と遷移を確認します。

 

下記のダイアグラムで、チケットの起票が"Create"という遷移(トランジション)で発生しているのがわかります。

f:id:nyumi:20140526212718p:plain

3-3. 事後操作(post function) の追加

ワークフローダイアグラムで、矢印上に示される遷移(トランジション)名(ここではCreate)をクリックすると右に編集パネルがでてくるので"事後操作"リンクをクリックします。

 

"Create"トランジションに登録されている事後動作の一覧が出てきますので"Add post function"のリンクをクリックしてHipChatへの通知を登録します。

f:id:nyumi:20140526213612p:plain

さらに次の画面で下記を設定します。

  • フィルタリング条件(JQL)- 既存のフィルタが選べないのが残念
  • 通知先ルーム - 複数選択可
  • 各ルームにあるクライアントの通知をトリガーするかどうか - する場合はクライアント側に通知(ポップアップや音などクライアント側の設定によります)が入ります

f:id:nyumi:20140526220502p:plain

追加すると、"事後操作"一覧画面に戻ります。

3-4.事後操作の並び替え

さらにここでもう一仕事。今登録した事後操作(HipChat通知)を一番下に移動させる必要があります。しないでおくと、HipChat側で下記のように注意されます。課題キーやリンクも正しく表示されません。

 

悪い例:

f:id:nyumi:20140526214932p:plain

The post function should be configured after the issue is actually created within the transition for project テストプロジェクト (YUMITEST) so that this notification could show the issue key. Please contact your JIRA administrator to fix this.

 

事後操作一覧で、HipChatの通知を上から一番下に動かします。↓をちくちくクリックします。

f:id:nyumi:20140526215516p:plain

とりあえず、これで課題チケット作成の際にHipChatで通知を飛ばすためのワークフロー上の設定は完了です。

 

3-5. ワークフローの公開

ただ今編集したワークフローはドラフトの状態なので、設定を有効にするためにはこれを公開する必要があります

f:id:nyumi:20140526215723p:plain

"ドラフトの公開"を押します。これで反映されたはず。

3. 動作確認

JIRA上でさっきのワークフローを公開したプロジェクトで課題を作成します

f:id:nyumi:20140526231355p:plain

届きました。パチパチ。リンクをクリックすると、JIRAの課題に飛びます。

f:id:nyumi:20140526231913p:plain

 

設定手順は以上になります。ちょっとワークフローの事後操作の更新あたりが面倒ですね・・・f:id:nyumi:20140510095448p:plain