2015-07-15

subversionの変更記録とredmineのチケット情報を連携させてレポートしてみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
以下のサイトでsubversionのリポジトリのコード変更量を集計する方法を紹介しています。
http://iyukki.blog56.fc2.com/blog-entry-179.html

これを見てこの情報とredmineのチケット情報を組み合わせることができないかなぁと思ってみたので作ってみました。
以下に置いておきました。
https://github.com/vivahiraj/svn_rm_rep

subversionのコミットログに関連するredmineのチケット番号を
#1111
のように記録していることを前提とはしています。

まずは、リポジトリの変更量を
http://iyukki.blog56.fc2.com/blog-entry-179.html
と同じような仕組みで取得します。

そしてコミットログからredmineのチケット番号を取得して、集計をしておいて
最後にredmineのapiを利用してそのチケット情報を取得します。

使い方としては、以下のような感じになります。
ruby svn_rm_rep.rb -r "{2015-06-01}:{2015-08-01}" -c config.yaml

config.yamlには
subversionリポジトリのURL
redmineのURL
redmineのAPIキー
を記載する必要があります。

ちなみにredmineのAPIキーの取得方法は以下が参考になります。
http://www.r-labs.org/projects/r-labs/wiki/Redmine_REST_API

ツールを実行した結果は以下のようになります。
-----------------------------------------------------------------------------------
 rev| author   | date     | add| del| ticket 
 ---+----------+----------+----+----+-----------
 872|  jagajaga|2015-05-28|   7|   3|1826
 873|  jagajaga|2015-06-11| 124|  54|1922
 874|    imoimo|2015-06-15|   1|   4|
 875|  jagajaga|2015-06-24|  63|   0|1949
 876|  jagajaga|2015-06-24|   7|   7|1950
 877|    imoimo|2015-06-24|   1|   1|1958
 878|  jagajaga|2015-06-24|  19|   7|1949
 879|    imoimo|2015-06-24|   4|   4|
 880|  jagajaga|2015-07-03|  54| 124|1976
 881|    imoimo|2015-07-07|  30|  30|
 882|    imoimo|2015-07-07|   1|   0|
 883|    imoimo|2015-07-08|   2|   1|
 884|    imoimo|2015-07-09|   1|   1|
 885|  jagajaga|2015-07-09|  53|  28|1986
 886|  jagajaga|2015-07-09|  23|   0|1986


 month      | commits | add    | del    | delta  
 -----------+---------+--------+--------+--------
 2015-07    |       7 |   +164 |   -184 |    -20
 2015-06    |       7 |   +219 |    -77 |   +142
 2015-05    |       1 |     +7 |     -3 |     +4


 author     | commits | add    | del    | delta  
 -----------+---------+--------+--------+--------
 imoimo     |       7 |    +40 |    -41 |     -1
 jagajaga   |       8 |   +350 |   -223 |   +127


 ticket | commits | add    | del    | delta  | start      | end        | diff   
 -------+---------+--------+--------+--------+------------+------------+--------
 1986   |       2 |    +76 |    -28 |    +48 | 2015-07-09 | 2015-07-15 |     +5 
 1976   |       1 |    +54 |   -124 |    -70 | 2015-07-03 | 2015-07-03 |     +0 
 1958   |       1 |     +1 |     -1 |     +0 | 2015-06-24 | 2015-06-24 |     +0 
 1950   |       1 |     +7 |     -7 |     +0 | 2015-06-22 | 2015-06-24 |     +1 
 1949   |       2 |    +82 |     -7 |    +75 | 2015-06-22 | 2015-06-24 |     +2 
 1922   |       1 |   +124 |    -54 |    +70 | 2015-06-09 | 2015-06-11 |     +2 
 1826   |       1 |     +7 |     -3 |     +4 | 2015-05-28 | 2015-05-28 |     +0 

-----------------------------------------------------------------------------------

上3つのレポートは
http://iyukki.blog56.fc2.com/blog-entry-179.html
で紹介されたのと同じです。

最後の一つがredmineの情報を組み合わせています。
ticket欄がredmineのチケット番号になっており、startがチケットを起票した日(created_on)でendがチケットをクローズした日(closed_on)になっており、diffがstartからendまでの経過日数になっています。

コメントを投稿