BitBucketにpushしたら、自動的にRedmineのチケットと連動してほしい。
redmine_github_hookを使用すれば実現できそうです。
https://github.com/koppen/redmine_github_hookRedmineとGitBucketのインストール
こちらの手順でインストールしたものを使用しました。
Redmine
Redmine 3.0.0をDebian 7(Wheezy)にインストールするGitBucket
Debian 7にTomcat 7 + gitbucket + Jenkinsをインストールするredmine_github_hook
redmine_github_hookプラグインをRedmineに導入します。
こちらを参考にしました。
https://github.com/koppen/redmine_github_hook「B: As a plugin」の方法でインストールしてみます。
プラグインフォルダに移動し、gitコマンドでcloneを取得。
# cd /opt/redmine-3.0.0/plugins
# git clone https://github.com/koppen/redmine_github_hook.git
/opt/redmine-3.0.0/plugins/redmine_github_hookが作成されました。
Redmineを起動して動作を確認してみます。
# cd /opt/redmine-3.0.0
# ruby bin/rails server webrick -e production -b 0.0.0.0
ちゃんとプラグインを認識していますね。

リポジトリの連携
GitBucket側で適当にリポジトリを作成しておきました。
今回は「redminetest」という名前のリポジトリを作成しています。


このリポジトリのcloneをRedmineサーバーに作成します。
# mkdir -p /opt/redmine-3.0.0/repo
# cd /opt/redmine-3.0.0/repo/
# git clone --bare http://192.168.1.102:8080/gitbucket/git/root/redminetest.git
ここでポイントになるのは「--bare」オプションをつけてcloneする点です。
bare(ベア)リポジトリはファイルの実体を持たず、更新情報だけを保持する
リポジトリということだそうで、このモードじゃないとエラーになります。
クローンを作成したら、Redmineの設定画面を開きます。
プロジェクトの[設定] - [リポジトリ]から「新しいリポジトリ」をクリック。

バージョン管理システムに「Git」
リポジトリのパスは先ほどクローンしたパスを入力します。
今回は「/opt/redmine-3.0.0/repo/redminetest.git」と入力しました。

設定出来ました。

プロジェクトのリポジトリタブから内容を閲覧できます。

GitBucketにWebHookを設定
GitBucketにpullした時のメッセージで、Redmineのチケットを操作できるよう設定します。
GitBuketの画面で「Settings」をクリック。

「Service Hooks」の項目を選択して、「WebHook URLs」に
http://[Redmineのサイト]/github_hook?project_id=[プロジェクトのID]
と設定します。

これで設定は完了です。
連携テスト
リポジトリをチェックアウト
$ git clone http://192.168.1.102:8080/gitbucket/git/root/redminetest.git
README.mdを適当に編集してコミット&pushします。
$ cd redminetest/
$ git add README.md
$ git commit -m "refs #1 変更テスト"
$ git push
ポイントは「refs #(Redmineのissue_id)」をコメントに含めることです。
pushした後、Redmineの画面を見てみると、こんな感じで情報が表示されます。

コミットログから対応する差分の表示も行えます。

この「refs」というキーワードは、[管理] - [設定] - [リポジトリ]に
設定されている値のようです。

反応するキーワードの初期値は以下のとおり。
refs,references,IssueID
ステータス、進捗率の変更
バージョン管理システムとの連携こちらに、「fixes」や「closes」というキーワードでステータスが
変更できると記載があるのですが、反応せず。
どうやら[管理] - [設定] - [リポジトリ]の画面で設定しておく必要があるようです。

以下のコミットメッセージで
ステータス「解決」
進捗率「50%」になりました。
$ git commit -m "fixes #1 FIXしました"

終了するにはこんな感じ。
$ git commit -m "closes #1 CLOSEしました"
- 関連記事
-
テーマ:サーバ - ジャンル:コンピュータ
- 2015/03/15(日) 18:14:32|
- 備忘録
-
| トラックバック:0
-
| コメント:0
- | 編集