gitlab から slack への通知がとても便利なので、同じようなことを redmine でもやりたいなと思い、redmine-slack というプラグインを試してみた。
インストール方法
cd /your/redmine/app/
git clone https://github.com/sciyoshi/redmine-slack.git plugins/redmine_slack
bundle install
# Redmine アプリケーションを再起動
基本的な設定方法
- Slack へ自分のユーザーでログイン
2. チャンネルに Incoming Webhook インテグレーションを追加
3. 発行された Webhook 用の URL をメモしておく - Redmine に管理権限を持つユーザーでログイン
- 「管理 -> プラグイン -> Redmine Slack」を開く
- Slack URL に上記で発行した Webhook 用の URL を入力
- Slack Channel に通知を送りたいチャンネルの名前を入力 (例:
#general
) - 「適用」をクリック
ここまでやると、その Redmine の全プロジェクトでチケットに更新があったときや Wiki に更新があったときに、指定した Slack チャンネルへ通知が行われる。
プロジェクト毎に通知先のチャンネルを設定する
複数のチームがそれぞれ複数のプロジェクトを作成して利用しているような、中規模~大規模な利用の場合、上記のように 1 つのチャンネルにすべてのプロジェクトの更新が通知されてしまうと困る。
プロジェクト毎に通知先チャンネルを変えるには、Redmine のカスタムフィールド機能を利用して、プロジェクト毎に通知先チャンネル情報が付与できるようにする。こんな感じ。
名前以外はデフォルトで大丈夫だった。上記のようにカスタムフィールドを作成すると、各プロジェクトの設定で Slack Channel という項目に通知先チャンネルを設定することができる。
ちなみに、「管理 -> プラグイン -> Redmine Slack」の Slack Channel を "-" (通知しない) に設定しておくと、「デフォルトでは Slack 通知されず、プロジェクトの設定で Slack Channel を指定したときだけ通知される」という利用者にとって自然な挙動を実現することができた。
その他
プロジェクト毎に「チケットの更新を通知するかどうか」「Wiki の更新を通知するかどうか」をカスタマイズできないのがやや不便な感じ。