この記事はAtlassian Advent Calendar 2012の14日目です。
HipChatはIRCを彷彿とさせるインターフェースで、思わず「[ただちにセプクしろ!!][1]」とか書き込んでしまう気軽さが魅力です。
ところで、JIRAやGithubをチームで使っていると、あることの発生がしばしばあることに気がつきます。それは・・・「課題のアサインに気がつかない」ということです。
たとえば起票された優先度高のバグを放置、pull requestを放置、コメントを放置・・・といった具合です。
もちろんそれぞれのアクションの時にメールが飛ぶんですが、メールなんか誰も読んでませんよね?(含む自分)
私のいるチームでも最初はtwitter botでこの手の通知を行っていたのですが、HipChatで行うようにしました。
HipChatでは[いろいろなサービスへの連携が出来るようになっています。][2]
また、連携するルームの設定ができるので、プロジェクト毎にルームを分けているような場合にも便利です。
HipChat Auth Tokenの生成
まずはAPI連携に必要なHipChatのAuth Tokenの生成です。
- HipChatの "Group admin" > "API" を表示
- Create new token.
ここでAdmin tokenとnotification tokenが選択できます。JIRAと連携する場合にはAdmin tokenが要求されるので、僕はAdmin tokenを生成しました。Githubだけならnotificationでもいけます。 - 生成されたTokenをコピー
Github連携
次にGithub側の作業です。
- Githubで、連携したいリポジトリの "Admin" メニューを選択
- メニューから "Service Hooks"を選択
- HipChatを選択
- 先ほど生成したAuth Token, 連携Room名を入力。Activeにチェック。(Notifyはお好みで)
これで連携できるようになります。
連携
連携すると、下図のような通知が出ます。pushしたときに表示されるので、複数のコミットメッセージが束ねられていて便利です。
see: atlassianの連携解説サイト 図もここからお借りしました
活用例
プロジェクトに必要なドキュメントをgithubで管理し、Q&AをIssuesで行うようにします。(*1)
そうすると質問が上がる度に通知が来ますし、githubのissuesはコミットログも合わせて表示するので、「修正しました」みたいなメールを書く必要もありません。
「これってどういうことですか?」「この項間違いでは?」みたいなショートメールがメールボックスを埋め尽くさなくても良いのです。
(*1) wikiでいいじゃん、と思うんですが、諸般の事情によりバイナリ形式のプロプライエタリフォーマットを扱わなければならないこともあります。
[1]: https://twitter.com/njslyr_r/status/180996623734804481
[2]: http://help.hipchat.com/knowledgebase/topics/10037-integrations