Redmine連携でチケットをチャットに通知&開発を楽しくするHubotスクリプト6選:チャットボットでチーム開発効率化入門(2)(2/3 ページ)
GitHub社が開発しているbotフレームワークHubotを使ってチャットアプリ上でチーム開発をいかに効率化していくかを解説していきます。今回は、HubotとRedmineを連携してチケットをチャットに通知する方法と環境構築、開発を楽しくするHubotスクリプトを6つ紹介。
データベースの設定
以下のコマンドでデータベースの設定を行います。
$ vim /var/lib/redmine/config/database.yml
production: adapter: mysql2 database: db_redmine host: localhost username: user_redmine password: redmine encoding: utf8
依存するGemのインストール
以下のコマンドで依存するGemをインストールします。
$ cd /var/lib/redmine $ sudo apt-get install -y imagemagick libmagickwand-dev $ sudo gem install bundler --no-rdoc --no-ri $ bundle install --without development test
シークレットトークンの作成、データベース初期化
以下のコマンドでシークレットトークンの作成、データベース初期化を行います。
$ bundle exec rake generate_secret_token $ bundle exec rake db:migrate RAILS_ENV=production
Passengerのインストール
以下のコマンドでRailsのアプリケーションサーバー「Passenger」をインストールします。
$ sudo gem install passenger --no-rdoc --no-ri $ sudo apt-get install -y libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev $ sudo passenger-install-apache2-module
passenger-install-apache2-module実行後に以下のようなApache用の設定が表示されるので、「/etc/httpd/conf.d/passenger.conf」に記述します。
LoadModule passenger_module /var/lib/gems/2.1.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /var/lib/gems/2.1.0/gems/passenger-4.0.53 PassengerDefaultRuby /usr/bin/ruby2.1 </IfModule>
続いて下記コマンドを実行します。
$ sudo a2enconf passenger $ sudo vim /etc/apache2/sites-enabled/000-default.conf
DocumentRoot /var/lib/redmine/public <Directory /var/lib/redmine/public> Require all granted </Directory>
続いて下記コマンドでApacheを再起動します。
$ sudo service apache2 restart
構築した環境にアクセスし、Redmineの初期画面が表示されれば完了です。管理者のユーザーパスワードは初期状態では共に「admin」となっています。ログインし、忘れずに変更しておいてください。
RedmineとHubotの連携
ここからは、RedmineとHubotを連携させます。
HubotにRedmineのチケットの更新情報を連携するには、HubotスクリプトとRedmineのプラグインをインストールする必要があります。「Slack」「HipChat」などを利用している場合はHubotを介さずに連携可能です。
hubot-redmine-notifierのインストール
Hubotがインストールされているサーバーで以下のコマンドを実行し、「hubot-redmine-notifier」をインストールします。
$ cd myhubot $ npm install --save hubot-redmine-notifier $ vim external-scripts.json
external-scripts.jsonに"hubot-redmine-notifier"を追加し、追加したスクリプトが読み込まれるようにしておきます。
["hubot-redmine-notifier"]
redmine_webhookのインストール
Redmineがインストールされているサーバーで以下のコマンドを実行し、「redmine_webhook」プラグインをインストールします。
$ cd $RAILS_ROOT/plugins $ git clone git://github.com/suer/redmine_webhook.git $ bundle install --without development test $ rake redmine:plugins:migrate RAILS_ENV=production
インストール後Redmineを再起動し、WebHookのURLを設定します。設定するURLは「http://
Kandanの場合は、チャンネルのタブのURLで「/#channels-1」と確認できるので、そのチャンネルの数字を「room=1」といった具合に設定します。
チケットの作成と通知確認
正しく設定ができていれば、以下のようにチケットを作成すると、
KandanにRedmineのチケット作成の通知が表示されます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Jenkins+HipChat+Hubotをチーム開発に導入してお手軽CI
現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。最終回は、Jenkinsと連携させやすいチャットツールHipChatやBotフレームワークHubotを組み合わせてCIをより効率的に回す方法について解説します。 - 実録! チーム開発が捗り過ぎるSlack+GitHub+Trelloの使い方
スタートアップではいかにお金を使わずにプロダクトを開発するかは成功につながる大きなポイントとなる。コストを掛けずにプロダクトを作っていく上で、導入すべきツールをどのように使うかを数回に分けて紹介。今回は、開発プロジェクト向けチャットツール「Slack」の特徴を解説しプロジェクト管理ツール「Trello」や「GitHub」と組み合わせた活用事例を紹介する。 - GitHub(ギットハブ)の使い方:連携サービス
ソフトウェア開発プロジェクトの共有Webサービス「GitHub(ギットハブ)」を「日本語で」分かりやすく説明するシリーズ、今回は「asana」や「Travis」などの連携サービスを紹介します。 - 安藤幸央のランダウン[60]:GitHubをもっとソーシャルに使いこなすための7つ道具
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。Gist、GitHub Pages、Binpress、fluxflex、 Janky、Hubot、Travis CI、GitHub Watchersなどが注目だ