WebhookやHubotを使ってチャットとSubversion、Redmine、Jenkinsを連携させる基本設定とは:OSSチャット基盤RocketChat入門(終)(3/5 ページ)
OSSのチャット基盤であり、Dockerコンテナとして簡単に導入できるRocketChatを使った、コミュニケーション基盤の作り方を学ぶ連載。最終回は、RocketChatと他のアプリケーション(Subversion、Redmine、Jenkins、Zabbix、fluentdなど)と連携させる方法を紹介します。
Redmineのチケット作成/更新情報をチャンネルに投稿するには
次に、RocketChatとRedmineを連携させましょう。Redmineのチケット作成/更新情報をRocketChatのチャンネルに投稿します。
RedmineからRocketChatへのデータ送信には、Redmineのプラグインである「redmine-slack」を使用します。プラグインを使用するので、自分でcurlコマンドを作り込む必要がなく、簡単に設定が可能です。もともとはSlack向けのプラグインですが、RocketChatでも動作します。
以下、RocketChat+Redmine連携の設定の流れを記載します(カッコ内は設定対象のソフトウェア)。
【1】Webhook URLの作成(RocketChat)
まず、Subversion連携と同様で、Redmine用のWebhook URLを作成してください(手順も一緒ですので、ここでは省略します)。ここでは「#redmine」というパブリックチャンネルに投稿されるように設定しています。
【2】「redmine-slack」プラグインのインストールと設定(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プラグインの「設定」を選択し、以下の情報を入力します。
- Slack URL:作成したWebhook URLを指定
- Slack Channel:「-」(ハイフン)を指定(理由は後述するTips参照)
- Slack Icon:アイコンのURL。ここではデフォルトのままとする
- Slack Username:RocketChatに投稿する際のユーザー名を指定する
次に、「project custom field」を選択し、カスタムフィールドを追加します。以下のように「名称」に「Slack Channel」と指定したカスタムフィールドを作成してください。
最後に、チケット作成/更新情報を投稿したいRedmineのプロジェクト(今回は「Sample」というプロジェクトを指定します)の「設定」で、RocketChatのチャンネルを指定します。「Sample」プロジェクトの「設定」→「Slack Channel」に投稿したいチャンネルを「#チャンネル名」という形式で設定してください。
実行結果
以上で設定は完了です。Redmineのプロジェクトでチケットの作成、更新を行うと、RocketChatの「#redmine」チャンネルに以下のようなチケットの作成/更新情報が通知されます。
Tips Slack Channelの指定について
今回、Slack Channelで「-」(ハイフン)を指定しています。ここで「#channel」など特定のチャンネル名を指定すると、“全ての”Redmineプロジェクトの通知が指定したチャンネルに投稿されます。「-」(ハイフン)を指定することで、Redmineのプロジェクトごとに指定したチャンネルに投稿することが可能となります。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- IBMとSlackが提携、“Watson”搭載Slackツールを開発可能に
IBMとSlackが、Webコミュニケーションツール「Slack」とコグニティブ技術「Watson」の連携取り組みで提携。Watsonのコグニティブ技術を融合したSlackツールなどを開発していく。 - 実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方
スタートアップではいかにお金を使わずにプロダクトを開発するかは成功につながる大きなポイントとなる。コストを掛けずにプロダクトを作っていく上で、導入すべきツールをどのように使うかを数回に分けて紹介。今回は、開発プロジェクト向けチャットツール「Slack」の特徴を解説しプロジェクト管理ツール「Trello」や「GitHub」と組み合わせた活用事例を紹介する。 - HubotとZabbixを連携すればワンオペ監視でも寂しくない
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。今回は、Zabbixをインストールして監視設定を行い、Hubotと連携してサーバーからの障害検知をチャットに通知する方法などを紹介します。