2007-05-05 (Sat)

redMine で trac の trac-post-commit-hook のような事をやる

と言っても特殊な事は必要なくて、svn リポジトリのリビジョン473から使えるようになっているので、更新するだけで使えるようになります。

trac-post-commit-hook が何者か知らない人のために説明しておくと、Subversion のコミットログに、関連チケットの番号を残すと、チケットの側でもログとリビジョン番号が確認出来るという、タスクと連動するなら割と必須な機能です。ちなみに redMine については redMine 使ってみる を参照。

話しを戻しましてリビジョン473以降にアップデートすると、「管理」→「設定」の下の方に「Referencing keywords」と「Fixing keywords」と言う項目が追加されます。この「Referencing keywords」が関連ログ用のキーワードで「Fixing keywords」がステータス変更用のキーワードになっています。

「Fixing keywords」が入力されると、「Applied status」に指定してあるステータスに変化する事になるので、ここは「解決」や「終了」などの連動させたいステータスを指定しておきましょう。

設定を終えてから、登録してあるプロジェクトのリポジトリで新しいチェンジセットのコミットをし、ログメッセージに「Referencing keywords」や「Fixing keywords」に含まれているキーワードと共に issue の番号を書くと、該当の issue に各リビジョンへのリンクが付与され、必要に応じてステータスが変化します。

trac と違ってコメント欄には何も追加されないのでわかりにくいのですが、この辺りは今後のバージョンアップでわかりやすく変化していくんじゃないかと思います。

さて、実は単にコミットしただけではすぐに issue 画面には反映されません。反映させる方法は二通りありまして、一つはブラウザで「SVNリポジトリ」を表示させる。もう一つはコマンドラインからログを反映させる、という方法を採る必要があります。

コマンドから反映させるには、./script/runner "Repository.fetch_changesets" -e production を実行させるだけです。大した話じゃありませんので、これを実行するプログラムをリポジトリの post-commit にでも書いておけば良いでしょう。

例えばこんな風に。

$ cat post-commit
#!/bin/sh

/home/takayama/rails/redmine/script/runner "Repository.fetch_changesets"  -e production

オフィシャルサイトのフォーラムには cron を使ってやる方法 も書かれていたので、post-commit がうまく動かない場合やリポジトリがリモートにある場合は cron でやるのが良いでしょう。

最後になりますが、でぃべろっぱーず・さいど の中の人が日本語で情報交換出来る場として redMine Users を作って下さったので、興味がある方は参加してみてはいかがでしょう。私もいるんですが、コメントを投稿しようとしたら Google が不調だったせいか何かでうまくいかなくてスネて放ってありますごめんなさい。

今ベーシック認証の事を考えていまして、モデルを置き換えるだけで対応出来るんじゃないかとも考えているので、その辺の事を知りたかったりします。

Posted by Kyosuke Takayama at 2007-05-05 (Sat) 23:40 printable version

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/669

メモリークラフト: Fedora4 x Redmine x Subversionは罠 (2008-11-06 (Thu) 14:39) 0%

会社の古いサーバー(Fedora4)でRedmineをSubversionとか...



この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.