次に、RocketChatとRedmineを連携させましょう。Redmineのチケット作成/更新情報をRocketChatのチャンネルに投稿します。
RedmineからRocketChatへのデータ送信には、Redmineのプラグインである「redmine-slack」を使用します。プラグインを使用するので、自分でcurlコマンドを作り込む必要がなく、簡単に設定が可能です。もともとはSlack向けのプラグインですが、RocketChatでも動作します。
以下、RocketChat+Redmine連携の設定の流れを記載します(カッコ内は設定対象のソフトウェア)。
まず、Subversion連携と同様で、Redmine用のWebhook URLを作成してください(手順も一緒ですので、ここでは省略します)。ここでは「#redmine」というパブリックチャンネルに投稿されるように設定しています。
続いて、Redmineのプラグイン「redmine-slack」をインストールします。プラグインは「https://github.com/sciyoshi/redmine-slack」からダウンロード可能です。ダウンロードした圧縮ファイルを解凍後、Redmineのルートディレクトリ(以下、${REDMINE_ROOT}と表記)にある「plugins」ディレクトリ配下に格納し、プラグインをインストールします。
# mv redmine-slack ${REDMINE_ROOT}/plugins/redmine_slack # cd ${REDMINE_ROOT}/plugins/redmine_slack # bundle install
Redmineを再起動すると、プラグインのインストールは完了します。次に、投稿先のチャンネルなど、プラグインの設定を行います。Redmineの「管理」→「プラグイン」で、Redmine Slackプラグインの「設定」を選択し、以下の情報を入力します。
次に、「project custom field」を選択し、カスタムフィールドを追加します。以下のように「名称」に「Slack Channel」と指定したカスタムフィールドを作成してください。
最後に、チケット作成/更新情報を投稿したいRedmineのプロジェクト(今回は「Sample」というプロジェクトを指定します)の「設定」で、RocketChatのチャンネルを指定します。「Sample」プロジェクトの「設定」→「Slack Channel」に投稿したいチャンネルを「#チャンネル名」という形式で設定してください。
以上で設定は完了です。Redmineのプロジェクトでチケットの作成、更新を行うと、RocketChatの「#redmine」チャンネルに以下のようなチケットの作成/更新情報が通知されます。
今回、Slack Channelで「-」(ハイフン)を指定しています。ここで「#channel」など特定のチャンネル名を指定すると、“全ての”Redmineプロジェクトの通知が指定したチャンネルに投稿されます。「-」(ハイフン)を指定することで、Redmineのプロジェクトごとに指定したチャンネルに投稿することが可能となります。
Copyright © ITmedia, Inc. All Rights Reserved.