Git-Redmine: GitのコミットとRedmineを連携する。チケット駆動開発にも。
おひさしぶりです。
kaoruです。
今回は、日常のGitの利用シーンでRedmineと連携できるGit-Redmineという小さなツールを作ってみたのでご紹介します。
(ツールは後ろのリンクからダウンロードできるので、ぜひお試しください。)
作業管理にRedmine、ソースコードの管理にGitを使っているプロジェクトは最近増えてきていると思います。
Redmineのチケットを見て作業内容を確認、該当するソースコードを修正、最後にGitでコミットしますよね。
Gitでコミットする時には、コミットメッセージというのを書きます。ここには、作業内容や変更点を簡単に記録します。
でも、Redmineを使って作業管理をしているプロジェクトでは、作業内容や変更点はRedmineのチケットの内容と基本的に同じですよね。
だからコミットメッセージを入力するとき、いままで、ウインドウを2つ並べて、Redmineからコミットメッセージの入力欄へのコピペを繰り返し・・・、チケットの番号を書き加えて・・・、とういうことをしていませんでしたか?
これだと、毎回、単純な作業にうんざりだし、コピペミスも怖い。
しかも、コミットメッセージが書くのが面倒で、ついつい2,3文字で済ませちゃった経験ありませんか?

面倒くさいことはツールで解決!
Git-Redmineを使うと、こんな問題を解決できます。
コミット時に作業の流れでチケットを確認できるので、巷で流行りのチケット駆動開発にもぴったりです。
できること
コマンドラインから、Redmineに登録されているチケットを確認できます。
Gitコミット時に、Redmineのチケットのタイトルをコミットメッセージに利用できます。
このツールは、Redmineが用意しているREST APIを利用しています。また、ソースコードをカスタマイズしやすいようにPythonで書いています。
インストール方法
1. 本ツール(Git-Redmine)のソースファイルを取得します。
(例)
$ git clone git://github.com/coiled-coil/git-redmine.git
2. git-redmineというファイルを実行パスの通った場所にコピーします。
(例)
$ cd git-redmine
$ mkdir -p $HOME/bin
$ cp src/git-redmine $HOME/bin/
git-redmineファイルの1行目にpythonのパスが書かれています。
/usr/bin/python以外を利用する場合はパスを書き換えてください。
Python 2.6 以降が必要です。CentOS5では、/usr/bin/python26 などに書き換えてください。
3. RedmineのAPIキーを設定します
APIキーは、Redmineログイン後に、個人設定の中に表示されます。(下の赤線部分)

もし、表示されない場合はREST API機能がオフになっている可能性がありますので、
管理者にお問い合わせください。また、古いRedmineでは利用できない可能性があります。
(例)
$ git config --global redmine.apiKey xxxxxxxxxxxxxxxxxxxxxxxxxxx
4. プロジェクトのGitレポジトリに、プロジェクトのRedmineのURLを設定します。
(例)
$ cd /repos/YOUR-PROJECT
$ git config redmine.projectUrl http://SAMPLE.COM/repos/YOUR-PROJECT
使い方
1. チケットの一覧を表示する。
$ git redmine
2. あるチケットの詳細を表示する。
$ git redmine 1234
3. あるチケットの情報を利用して、コミットを行う。
$ git redmine commit 1234
4. あるチケットの情報を利用して、コミットを行う。同時にチケットの達成率を90%に更新する。
$ git redmine commit 1234 --done-ratio=90
5. あるチケットの情報を利用して、コミットを行う。同時にチケットの達成率を100%、ステータスを解決済みに更新する。
$ git redmine commit 1234 --done-ratio=100 --status=3
ソースコード
こちらにソースコードを置いています。
https://github.com/coiled-coil/git-redmine






