Ikeda->Weblog();

Ikedaの徒然雑記。

続・GitとMantisを連携させてみる

| 0件のコメント

続・GitとMantisを連携させてみる昨日のエントリで、Gitのコミットログに書かれたチケットIDをMantisに食わせ、チケットへのコメントを追加すると同時にチケットをクローズさせる、という連携を行わせました。

非常~~~に簡単に動いてくれて嬉しいやらちょっと拍子抜けするやら。
 

で、ちょっと使ってみてたんですが、、、 

コミットログにチケットIDが無い場合、当然コメントはつかずチケットも変更されません。
しかしながら、「チケットへのコメントはつけたいけどまだクローズされちゃ困る」ってこと、ありませんか?

 

ある → 続きへお進みください
ない → ご覧頂きありがとうございました
ということで、今回は「コミットログをコメントとしてチケットに付加するけどチケットステータスは変えない」方法を探してみます。


でも、
需要あるのかな(´-ω-`)


 

さて、迷いは吹っ切って、早速調べてみます。
前回のエントリで の設定ファイル(config_inc.php)について触れましたが、設定項目にこんなものがありました。

 

  • $g_source_control_regexp
    コミットログからチケットIDを拾い上げるための書式を正規表現で指定します。
    デフォルトは”/bissue [#]{0,1}(d+)b/i”。
  • $g_source_control_fixed_regexp
    ステータス、解決状況を変更するチケットIDの書式を正規表現で指定します。
    デフォルトは”%source_control_regexp%” ($g_source_control_regexpを参照する)。
 

チケットIDの書式を指定する項目が2つありますね。
g_source_control_regexpg_source_control_fixed_regexp です。

 

説明を読むと、前者は単に「チケットIDを拾い上げるための書式」とあります。後者は
ステータス、解決状況を変更するチケットIDの書式」とあります。

そしてデフォルト値はどちらも同じ(正確には g_source_control_fixed_regexp のデフォルト値として g_source_control_regexp の値を参照している)です。

 

てぇことはぁ

 

『「チケットにコメントをつけるだけ」の書式(g_source_control_regexp)とは異なるパターンをg_source_control_fixed_regexpに指定する』ことで、「チケットのステータスを変更する」書式が設定できるんじゃありませんこと?

 

・・・ていうかそのはずですよね。その為に別項目になっているような気がもりもりしています。

ま、善は急げで早速試してみましょう^^)b

 

$g_source_control_fixed_regexpの設定内容を適当に編集し、違うキーワードにしてみます。コメントのみの書式が issue #000 ですから、こちらは fixed #000 にしてみましょうか。

 

  $g_source_control_regexp = “/bissue [#]{0,1}(d+)b/i”;
  $g_source_control_fixed_regexp = “/bfixed [#]{0,1}(d+)b/i”;

 

Mantisにテスト用のチケットを登録し、続いてGitでcommitを行います。

まずはコメントのみ(のはず)なcommit。

 

  ~~~適当なファイルを適当に編集~~
  % add FILEFILE
  % git commit -m ‘コメントのみのはず!  issue #002

 

Mantisを確認、、、おお、コメントは追加されていますがチケットステータスは変わっていませんね。

では、今度はチケットをfixしてみましょう。

 

  ~~~適当なファイルをまたもや適当に編集~~
  % git add FILEFILE
  % git commit -m ‘これでチケットクローズのはず!  fixed #002

 

さて、チケットの状態はどうでしょう?
コメントが追加されると同時に、状態やステータスが変化していますか??

この時どのステータス・どの状態に変化させるかは前述の設定ファイルで指定できます^^)b

 

あと欲を言えば、 change #002 WAIT とかってやるとステータスが指定したものに変わる、、なんて機能があるといいかも。需要はさらに低そうですが^^;;

 

時間がある時に checkin.php を弄んでみますね。

いつ時間ができるのかは・・・不明(笑)

コメントを残す