タスク管理システムとソースコード管理システムの連携を設定したけど、
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