我正在尋找一種方式響應像提交信息創造(未更新)一TRAC票「黑客代碼,不殺你的狗(TODO:妥善解決這一問題,避免追小貓代替)」。如何從svn commit創建trac門票?
我希望TRAC系統對「TODO」關鍵字反應並創建票證與提交信息的內容,業主設置爲提交者和開放已提交引用。
在尋找,所以我發現Open and close trac tickets with a single commit基本上說,我怎麼能推出自己的解決方案。如果沒有可用的預製件,我會這樣做。那麼 - 有嗎?
我正在尋找一種方式響應像提交信息創造(未更新)一TRAC票「黑客代碼,不殺你的狗(TODO:妥善解決這一問題,避免追小貓代替)」。如何從svn commit創建trac門票?
我希望TRAC系統對「TODO」關鍵字反應並創建票證與提交信息的內容,業主設置爲提交者和開放已提交引用。
在尋找,所以我發現Open and close trac tickets with a single commit基本上說,我怎麼能推出自己的解決方案。如果沒有可用的預製件,我會這樣做。那麼 - 有嗎?
我建議看官方Trac的包蟒蛇:http://pypi.python.org/pypi/Trac/0.11.4和文檔http://www.edgewall.org/docs/tags-trac-0.11.7/epydoc/trac-module.html
這是我們用它來從一個python腳本創建Trac的門票,我認爲這是非常簡單易用。你可以運行這個python腳本作爲你的VCS的post commit鉤子。
您可以使用您的項目設置,然後新的買票啓動一個trac的環境和保存。有可能是多一點吧你,但是這應該給你一個好主意:
from trac.env import Environment
from trac.ticket import Ticket
env = Environment(projectSettings, create=0)
tkt = Ticket(env)
tkt['summary'] = 'first line of commit message'
tkt['description'] = 'full commit message'
tkt.save_changes(commitAuthor, '')
不用說,當前Trac的穩定是0.12.3,但當然發展的需要,去與你的當前版本。 (在你的問題你沒告訴我們。)
關於你的問題,有a hint就如何落實在最前的CommitTicketUpdater從Trac的核心不同的功能。它具有更新和接近內置操作,所以你需要做一些改變,像這樣(基於current Trac trunk
):
commands_create
爲命令,即創建一個參考新票到變更,作爲一個空間分隔的列表changeset_added
添加一個類寬可變self.comment
和changeset_modified
後右comment
分配添加模塊cmd_create
等(未測試)
def cmd_create(self, ticket, changeset, perm): if not self.check_perms or 'TICKET_CREATE' in perm: # Commit messages in general is used for a ticket comment. # New tickets require summary and we'll want description too, # because comment is ignored on ticket creation. # So we need to do message processing here beforehand. ticket['comment'] = None ticket['description'] = self.comment ticket['owner'] = changeset.author ticket['status'] = 'new' ticket['summary'] = ' '.join(['TODO from', str(changeset.rev)]) ticket.insert()
改變ticket_command
所以正則表達式不僅將匹配默認功能票(S)對,但一元「TODO:」,以及(對不起,不能讓這個工作的權利-away現在)
延伸私營模塊_parse_message
之前if func:
包括另一種情況下
變化_update_tickets
做出評論保存條件,因爲您將不再需要/想在新票附加註釋)
if ticket['comment']: ticket.save_changes(changeset.author, comment, date, db)
好了,反問作爲如果你喜歡嘗試這種方法,那麼這是必需的。
這真的很令人印象深刻,但超出了我的需要。 @ cdlk可能會出現,我將無法訪問系統,直到下週才嘗試。不管怎麼說,還是要謝謝你! – mabi
可能就是這樣。我將在下週嘗試一下,現在感謝您指出trac模塊文檔,我可以從中獲得幫助。 – mabi