Redmine REST APIとgitの連携をしてみた
一年ぶりのブログ記事。
転職直後はあんまり使ってなかったけど、このごろRedmineによるタスク管理の重要性を再確認して、使う機会が多くなった。
けど、利用頻度が多くなってきたらいちいちEclipse <==> ターミナル <==> ブラウザを行き来してやり取りするのがメンドウになってきた。
という訳で、Redmineを自分好みにターミナルから使えるようにRedmine REST APIでgitとの連携をできるようにしてみた。
コマンド名は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