RedmineとSlackを連動させる

ことをやってみましょう。社内のプロジェクト管理はほぼRedmineで行っています。いままではメールでチケット更新を受信していました。それはそれで便利なんですが複数のプロジェクト管理していると受信ボックスが一杯になるし自分以外の担当チケットはウォッチしないと通知来ないし、いろいろと不満点もあります。そこで社内のコミュニケーションツールであるSlackと連動させてみました。

参考にしたのはこちらのサイトです。

SlackにRedmineのチケット更新を通知する

この記事が良く出来ているので別に弊社が記事を上げる必要も無いのですが、記事を書かれた時期と微妙にバージョンも違うし作業の備忘録を兼ねて書きますね。

先にSlack側の設定を行います。#generalを選んで管理メニューから「Ass a service integration…」を選んで下さい。

fig001

WEBの設定画面に移動すると思います。ずらずらーっと連動サービスの項目が並んでいますが、画面下の方の「Incoming WebHooks」の「+Add」ボタンをクリックして下さい。

fig002

「Post to Channel」で#generalが選択されているのを確認してから「Add Incoming WebHooks Integration」ボタンをクリック。ちなみにここのチャンネル名はほんとはなんでもいいのですが、便宜上#generalを指定された方が良いと思います。

fig003

そうすると次の画面で「Webhook URL」が表示されていると思います。まるっとコピーしときましょう。

fig004

そして画面ずっと下の方に「Descriptive Label」という項目があるのでそこに適当な名前入れます。あまり凝る必要は無いので今回は「Redmine-Hooks」にしました。「Save Settings」ボタンをクリックして設定を保存します。Slack側の設定はこれで終了です。

fig005

続いてRedmine側ですが、Redmineをインストールしている場所にPluginsというディレクトリがあるとおもいます。そこに移動して今回利用するPluginをgit cloneします。こんな感じです。


$ git clone https://github.com/sciyoshi/redmine-slack.git redmine_slack

redmine_slackというディレクトリが出来たと思います。そこに移動してbundle installします。じつはこれ忘れてRedmineが起動しなくなってちょっと焦りました。お気を付けて。


$ cd redmine_slack
$ bundle install

そしてRedmineを再起動します。うちの場合はApache+Passengerで運用しているのでApacheをリスタートしました。再起動した後、Redmineの管理メニューから「プラグイン」をクリックします。

fig006

 

プラグイン画面では「Redmine Slack」という項目の「設定」をクリックします。

 

fig007

 

プラグインの設定画面で「Slack URL」(画面赤枠)項目にさきほどコピーしたSlackのWebhook URLをペースとして下さい。「Slack Channel」には「-」でも入れといて下さい。「Slack Icon」はデフォルトのままで良いと思います。「Slack Username」もなんでも良いのですがわかりやすく「redmine」にしときましょう。

fig008

ここでチャンネル名を指定すると特定のチャンネルにしか通知が来なくなります。それでいいよ!という方はチャンネルを設定して運用して下さい(未確認)。

やはりプロジェクト毎にチャンネル指定したい!という方は上の画面の青枠のところ、「project custom field」をクリックして下さい。カスタムフィールドの設定画面に遷移します。

fig009

名称は「Slack Channel」にします。別の名前だとまずいみたいな情報もあるんですが未確認です。特にこだわるとこでもないのでこの名前で行きましょうね。そして表示のチェックボックスをチェックして保存です。これで基本設定完了です。

Redmineで任意のプロジェクト開いて設定→情報画面の「Slack Channel」に連動させたいチャンネル名を設定して下さい。ちゃんと#つけましょうね。

fig010

以上で完了です!!お疲れ様でした。Redmineでチケットを更新する度にSlackに通知が届きます。↓の画面のように。

fig011

弊社の場合は作業の進捗報告はこれ一本です。シンプルでいい感じです。

そんなとこです。