使用单个提交打开和关闭trac票证

时间:2010-06-11 05:32:04

标签: trac

我正在寻找一种方法来为我的VCS添加一个提交后或预提交挂钩,这将允许我一次创建和关闭一个trac票。

用例是针对何时发现并更正了错误,但是一位想要确保项目经理能够看到修复程序已经完成的开发人员,完成时以及修复程序的里程碑完成了。

我们在创建故障单时在trac中有一个默认里程碑,因此反映这些信息也会很好。

2 个答案:

答案 0 :(得分: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,因此您可以在此创建新故障单,然后立即关闭它。要创建新故障单,请调用故障单(self.env),然后使用Ticket.insert()保存它(请参阅http://trac.edgewall.org/browser/trunk/trac/ticket/model.py?rev=9692#L174)。

如果您这样做,我建议您将补丁附加到new ticket at Trac Hacks

答案 1 :(得分:0)

创建一个提交后挂钩。请注意trac post-commit挂钩如何工作并复制此功能以控制此操作(创建+关闭票证)。创建+关闭是wget可能发生的两个单独的http请求,您可以拦截故障单创建表单的帖子,查看现有的trac集成是如何工作的,或者以其他方式破解它。玩得开心。我希望这可能更具体,但它确实取决于你想要做什么。