Subversionコミットログを記載するときに、手軽に課題キーを付与する
コミットするときに、チケットID(Backlogでの課題キー)を手軽に設定できる方法。知っている人にとっては今更な話題でしょうが。主にBacklog/Subversive向けの設定方法になりますが、細かい点を除いたらどのBTS/ITSでも一緒。
参考:
実現したいこと
課題キーを手軽に入力するために、コミット時にテキストフィールドを表示させます。
そこにキー入力してコミットすると、自動的にコミットログに「 ( refs TEST-1 ) 」といったログメッセージが追記されるというものです。
コミット時に別途フィールドを表示させることによって、課題キー添付を忘れること防ぎ、なおかつログのフォーマットも整えることができます。
設定方法
Subversionのプロパティ「bugtraq:~」で制御できます。プロパティの設定には「プロジェクト 右クリック > チーム > プロパティーの設定」から行います。↓のような画面が出てくるので、下記表に従って設定してやりましょう。ちなみに、この設定はトップディレクトリ(大体の場合において、trunkでしょう)で設定してやれば、サブディレクトリは再帰的に適用されます。
名前 | 値 | 説明 |
---|---|---|
bugtraq:append | false | ログの末尾に追記するか先頭に追記するか。falseで、先頭に追記 |
bugtraq:label | 課題キー | 入力フィールドのラベル |
bugtraq:message | ( refs [[%BUGID%]] )*1 | 追記されるメッセージフォーマット。%BUGID%が、ユーザ入力に置換される |
bugtraq:number | false | 入力が数字のみで構成されるか否か。Backlogの課題キーは英数字を含むので、falseをセット |
bugtraq:warnifnoissue | true | 課題キーが入力されなかった場合に、警告ダイアログを表示するか否か |
これで、上記の目的が実現できます。
これだけでもちょっと感動ものだったのですが、ここまでやれたら次のステップがやりたいですよね?あと実現したいことは、こんな感じ。
- 課題キーの入力時に、BacklogのWeb上から情報を抽出して表示
- 課題追跡システムからの情報取得と同じイメージ
- コミットと同時に、記載された課題にコメントを追記
- Backlogのコミットフックスクリプトを書いてみたよ - ikikko.py - fukuoka.pyのはてなグループで、一応やろうと試みたけど中途半端…
時間見つけて、前者ができないかちょっと検討してみましょうかね。
*1:post-commit-hookとの連携で、メッセージの中身は若干変わってくるかも。"refs"じゃなくて、"closed"とか。