2010-06-11 532 views
2

我正在尋找一種方法來向我的VCS添加提交後提交或預先提交掛鉤,這將允許我一次創建和關閉trac票據。使用單一提交打開和關閉trac票據

該用例用於發現錯誤並更正錯誤,但是希望確保項目經理可以看到修復程序的單個開發人員完成了修復任務,修復完成後的里程碑

創建票證時,我們在trac中有一個默認的里程碑,所以反映這些信息也不錯。

回答

2

我建議延伸TracTicketChangesetsPlugin來做到這一點。

您會調整它在提交消息中檢測命令的方式(請參閱http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L154),因爲您還沒有可供參考的票號。

請參閱http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L215它實際進行解析的位置。你將不得不返回一些新的標記來表示「新票」。

實際上改變門票的代碼是http://trac-hacks.org/browser/tracticketchangesetsplugin/trunk/ticketchangesets/commit_updater.py?rev=8114#L234,所以在這裏你會創建新門票,然後馬上關閉門票。要創建新票證,請調用Ticket(self.env),然後使用Ticket.insert()將其保存(請參閱http://trac.edgewall.org/browser/trunk/trac/ticket/model.py?rev=9692#L174)。

如果您這樣做,我建議您將修補程序附加到new ticket at Trac Hacks

+0

(再次,由於是新的,無法編輯!) 請注意,此Trac插件是「派生自」http://trac.edgewall.org/browser/trunk/tracopt/ticket/commit_updater.py?rev= 9936所以如果你不想使用插件,你可以通過編輯代碼來開始。但是,該插件非常好,並且額外的功能非常好(例如在專用區域中列出票證中的提交)。 無論哪種方式,您都需要向您的Subversion存儲庫添加一個後傳遞掛鉤,該存儲庫運行trac-admin的changeset命令。 (有關TracTicketChangesetsPlugin的說明會詳細介紹。) – Nick 2010-07-13 08:42:53

0

創建一個post-commit鉤子。注意trac post-commit掛鉤如何工作並複製此功能以控制此操作(創建+關閉標籤)。創建+關閉是wget可能發生的兩個單獨的http請求,您可以截取票據創建表單的帖子,查看現有trac集成如何工作,或者以其他方式破解它。玩的開心。我希望這可以更具體,但它確實取決於你想要做什麼。

+0

因爲有實際登錄到trac的問題,您可以使用以下兩種方法之一: 1.手動和方便:與Firefox登錄並使用與wget的餅乾: http://hack2live.blogspot.com /2009/01/exporting-firefox-cookies-for-wget.html >安裝Export Cookies 1.0 firefox插件>(https://addons.mozilla.org/en-US/firefox/addon/8154) > >並用wget的下載: > wget的--load餅乾=/cookie.txt的-i url.list 2.自動和更困難: http://drupal.org/node/118759 還示出了一個關於如何發佈帖子的實例與wget。 – cheater 2010-07-12 04:09:32