RedmineとGitHub上のやりとりをchatで通知して欲しくなったので、HipChatとSlackの連携をそれぞれやってみました。
HipChat
Atlassianのアカウントを持っていれば、それでログインして利用できます。
なければ作りましょう。
GitHubとの連携
HipChatのRooms/[your_room]/Integrations から、roomごとにaddonが設定できる。
GitHubのaddonが用意されているので、ほぼぽちるだけでOK
Redmineにプラグイン追加
migrateが必要なので、バックアップをとってからすること。
http://www.redmine.org/projects/redmine/wiki/Plugins
プロジェクトごとにルームを設定
プロジェクト内の設定タブ>情報に、下記のroomとtokenの設定欄がある。
HipChatのRooms/[your_room]/Integrations/Redmine に上記に入力する値が表示される。
通知対象
チケットの作成・更新と、wikiの作成・編集で通知される。関係するチケットやリビジョンの変更は通知されない。
見た目
HipChat自体の見た目ですが、友人曰く、古きよきIRCだとか。Skypeに近いイメージ。
チケットのやりとりでmarkdownを使っても、チャットでは解釈されずに来るし、改行も上手くされていないので、微妙な気分に・・・
Slack
freeプランで新しくチームを作るやり方でいきます。その場合は、integrationは5個までなので注意。
GitHubとの連携
これもプラグインが用意されているのでぽちるだけ。
Redmineにプラグイン追加
readmeにインストール手順に従えばOK。
https://github.com/sciyoshi/redmine-slack
migrateはないですが、httpclientが必要なのでplugins/redmine-slack
に移動して、bundle install
を実行でいれます。
webhookのURL設定
incomingのwebhookを使います。
既存のチャンネルから選ぶか、新規作成してpostしたいチャンネルを選んでaddをクリックします。
そうすると、hookのためのURLが表示されます。
プロジェクト毎のチャンネル設定
これもreadmeに書いてある通りに。
プロジェクトにSlack Channel
というカスタムフィールドを追加することで、プロジェクト毎に通知するチャンネルを設定できる。
管理>プラグイン>Redmine Slackで下記の設定画面にいきます。ここのURLに前述のwebhookURLをいれる。プロジェクト毎にチャンネルを設定する場合は、Slack Channel
に-
をいれる。
その後、プロジェクトの設定タブの画面に、追加したSlack Channel
のフィールドに通知したいチャンネル名をいれて完了。
通知対象
チケットの作成・編集のみに通知がくる模様。wikiの編集には反応しない。
見た目
HipChatに比べると、アイコンもあるし、大分見やすい。
通知のメッセージが参照された形で来るので、markdownは反映されないのは変わらずですが、それでも結構読める。
通知が速い!?
環境依存の話ですが、自分のところでは、Redmineでチケットの編集のリクエストを出して、結果画面が返ってくるよりも先に、slackのデスクトップ通知が表示されるw
まとめ
見やすさや扱いやすさは、やはりSlackの方が良い。
Slackのfreeプランはintegrationが5つまでなので、とりあえず2~3個のプロジェクトではじめる分には問題なし。freeプランのチームをどんどん作っていけば、導入するプロジェクトが増えても対応できるでしょう。
HipChatも、freeプランでもユーザ数制限がないので、とりあえず始める分には問題なし。integrationの制限もないので、導入するプロジェクトが増えることを気にしなくてもよいのは楽そう。仕事でお金をかけずに広げていけるのはこちらか。
ともあれ、思ったより簡単にこれらの環境を導入できた。チャットを使った開発環境を用意するハードルは大分下がったようで。
参考サイト