slackを利用しているので色々と連携させたい欲求が出てきたので調べてみました。
LIGさんの、SlackとRedmineを連携し、登録したチケットの更新を通知する方法というのを見つけたのでその手順に従って入れてみたのでログを残します。
インストール
私の環境のredmineのバージョンは2.2.3.stableとなっています。
pluginsディレクトリに、gitに公開されているredmine-slackを取ってきます。
手順としては以下を行いました。
$ cd /www/redmine/current/plugins
$ git clone https://github.com/sciyoshi/redmine-slack.git redmine_slack
$ bundle install
$ cd ../
$ rake redmine:plugins:migrate RAILS_ENV=production
unicornを停止・起動します。再起動でも出来るのかもしれないですが、この手順で行いました。
sudo /etc/init.d/unicorn_rails_redmine stop
sudo /etc/init.d/unicorn_rails_redmine start
プラグインが適用されました。
slackと連携
こちらの手順はLIGさんの手順通りに進めています。
slack側の作業
- 「Slack」から「Configure Integrations」メニューへ移動
- 最下部の「DIY Integrations & Customizations」にある「Incoming WebHooks」をクリック
- 通知先となるチャンネルを指定し、「Add Incoming Webhook」をクリックして登録
- Your Unique Webhook URLを取得
redmine側の作業
プロジェクト毎に通知を分けたいので、カスタムフィールドを追加する手順を記述します。
- Redmineの「管理」メニューにある「カスタムフィールド」をクリック
- カスタムフィールドの「プロジェクト」タブをクリックし、「新しいカスタムフィールドを作成」をクリック
- 以下のように設定し、保存をクリック
- 名称:Slack Channel
- 書式:リストから選択
- 複数選択可:チェックしない
- 選択肢:#をつけてSlackのチャンネルを記述
- デフォルト値:未記入
- 必須:チェックしない
- 表示:チェック
- 検索条件に設定可能とする:チェックしない
- フィルタとして使う:チェックしない
今度はプロジェクト側の設定です。
プラグインの設定を行います。
- Redmine Slackの設定をクリック
- 以下の項目を入力
- Slack URL:slackにて取得した「Your Unique Webhook URL」を設定
- Slack Channel:未記入
- Slack Icon:そのまま
- Slack Username:そのまま
- 適用ボタンをクリック
これで設定が完了しました。
該当するプロジェクトでチケットを発行すると、slackに通知が飛ぶようになります。
とても便利ですね。