RedmineとSubversion連携

2010/2/4 12768hit
このエントリーをはてなブックマークに追加

タスク管理システムとソースコード管理システムの連携を設定したけど、
SVNコミット時にRedmineのチケット番号を入力しないと関連付かない。
慣れている人はいいけど、アジャイル初心者の為にチケット番号入力を強制することにしました。

超いいサイトがあったので、参考に設定
http://d.hatena.ne.jp/coolstyle/20090626/1246015704

したけど動かない。。。

ソースを覗くと、Railsのバージョンが違うのか??
取り敢えずroutes.rbを以下の用に変更
issues_views.connect 'issues/:id/confirm_repository_path', :action => 'confirm_repository_path', :id => /\d+/

map.connect 'issues/:id/confirm_repository_path', :controller => 'issues', :action => 'confirm_repository_path', :id => /\d+/

これでいいか分からん、、、まじめにRailsを勉強しないとなぁ。。。

それでも動かないので、Tomcatのログを見るとURLパラメータが違う??
Subversionのフックスクリプトvbsの、Redmineチケット問い合わせAPIの直前に追記
strDirsChanged = "Redmineで設定したSubversionのURL"
ここは自分の環境を設定しないといけないみたいです。

これでチケット番号コメントがない場合と、Redmineにチケット番号が無い場合はコミットブロックできました。

ついでなんで、vbsを拡張。
コメントがない場合を先にチェック
If strMessage = "" Then
WScript.StdOut.WriteLine("コメントが入力されていません。")
WScript.StdOut.WriteLine("変更内容をコメントに入力してください。")
WScript.Quit(1)
End If

ドキュメントやSQLなどチケットと関連付けない物を省く
Set objExec = objShell.Exec("D:\Program Files\Subversion\bin\svnlook.exe changed " + strRepoPath + " -t " + strTransaction)
strChange = objExec.StdOut.ReadLine

'帳票formはコメントいるけど、チケットはないのよん
objRE.pattern = "([A-Z]) branch/xxx/form/"

If objRE.Test(strChange) = True Then
WScript.Quit(0)
End If



前:Tomcat on Redmine 次:Subversion用Redmineチケット存在チェックAPIをAnonymousにも公開

関連キーワード

[Ruby][IT][Redmine]

コメント

名前:こくぼ|投稿日:2010/03/04 18:27

はてな日記を書いたものです。
参考にしていただいて嬉しいです^^

本当はRedmine改修をプラグインにしてあげた方が
いろいろと簡単なのですがはてな日記を更新できないでいます…^^;

フックスクリプトもVBScriptなんかを使うよりも
PowerShellを使った方が断然短く書けて
よいのですけどね…。

名前:こくぼ|投稿日:2010/03/04 18:30

というかstrDirsChangedについての説明がないですね。
すみません…><

名前:kensei|投稿日:2010/03/09 10:59

コメントありがとうございます!
ご本人に登場していただいて恐縮です(汗)
大変参考になりました。ありがとうございます☆

コメントを投稿する