Hatena::ブログ(Diary)

eaglesakuraのメモ帳

2011-09-30

Redmine REST APIとgitの連携をしてみた

02:39

一年ぶりのブログ記事。

転職直後はあんまり使ってなかったけど、このごろRedmineによるタスク管理の重要性を再確認して、使う機会が多くなった。


けど、利用頻度が多くなってきたらいちいちEclipse <==> ターミナル <==> ブラウザを行き来してやり取りするのがメンドウになってきた。

という訳で、Redmineを自分好みにターミナルから使えるようにRedmine REST APIgitとの連携をできるようにしてみた。


コマンド名はgit+redmineだからgitmineという安直なネーミングで。


結果は、まだあんまり使ってないからわからないからわからぬ(;´Д`)

とりあえずAPIの勉強になったから良しとする。


近いうちにさくらVPSを借りて自分のRedmineを立てないなぁ。


gitのフックスクリプトと同時に利用するのが前提。

要件としてはターミナルからRedmineのチケット確認・更新が行えること。

リポジトリとの関連付けはフックスクリプトにお任せ。


というか、git-redmineを導入しようとして失敗したんだよね(´・ω・`)


公開するかはわからんけど、とりあえず自分のメモを兼ねて使い方。


初期設定

このへんの設定はgit-redmineの仕様に合わせた。

一応共存できるような配慮で。

そもそも、git-redmineが使えれば問題ないわけだし(´・ω・`)

git config redmine.apiKey 自分のAPIキー
git config redmine.projectUrl リポジトリに関連付けてあるプロジェクトのURL


Basic認証設定

もしチケットの更新を行う場合はAPIキーの他にBasic認証用の値を設定する必要がある。

GETだけだったらこの設定はいらない。

PUTの使い方間違えてるのか、APIの使い方を間違えるのか、イマイチわからんけど、自分しか使わんからまぁいいかな(;´Д`)


Basic認証の値は他人にバレるとマズいから、同期されないように.git/.gitmineに暗号化して保存してる。

暗号の安全性は全く保証されてないがな( ー`дー´)キリッ

gitmine config --basic "user:passwordをbase64した文字列"


Redmineのチケットを見る

gitフックスクリプトの規約に合わせて、id/チケット番号のブランチにいる場合、gitmineを実行するとチケットのサブジェクトが表示される。

オプションで--ticket チケット番号を付与すれば好きなチケットを参照できる。--ticketオプションは大抵の命令と共存可能。

gitmine
〜チケット番号 :: チケットのサブジェクトを表示〜

gitmine --ticket 3103
〜3103番のチケットサブジェクトを表示〜

Redmineのチケット一覧を見る

オプションで-aを付加すると、未解決のチケット一覧が表示される

gitmine -a
〜チケット番号 :: チケットのサブジェクトを表示〜
〜チケット番号 :: チケットのサブジェクトを表示〜
〜チケット番号 :: チケットのサブジェクトを表示〜
...

Redmineのチケット詳細を見る

オプションで--detailを付加すると、チケットの詳細が表示される。

gitmine --detail
〜チケット番号 :: チケットのサブジェクト〜
〜作成日時〜
〜更新日時〜
〜進捗率〜
〜内容〜

チケットの進捗率を操作する

オプションで--doneを付加すると、チケットの進捗率を更新できる。


進捗率を50%に変更する場合

gitmine --done 50

チケットの状態を変更する

オプションでstatusを指定すると、チケットの状態を変更できる。

・・・ようにする予定(´・ω・`)


チケットを終了させる

gitmine --status close


チケットを再開する

gitmine --status open



今のところ自分で使う専用で考えてるから適当実装。

Redmineのチケットにコメントを付けるAPIが見つからないけど、どうやるんだろ(´・ω・`)

トラックバック - http://d.hatena.ne.jp/eaglesakura/20110930/1317404366