如何将我的持续集成系统与缺陷跟踪系统集成?

6
我使用cruisecontrol.rb进行CI,使用FogBugz进行bug跟踪,但回答越通用就越好。
首先是技术问题:FogBugz是否有API?有没有好的教程或预先编写好的代码?
其次是程序问题:当构建失败时,CI应该将什么内容放入缺陷跟踪器中?也许是:
标题:"#{最后一位提交者}破坏了构建!"
正文:"#{错误追踪}"
我想这预设了一个答案:我是否应该将CI中断放入我的bug跟踪中?
3个回答

4
在我们公司,最近采用了(商业)Atlassian堆栈,包括JIRA用于问题跟踪和Bamboo用于构建。就像微软世界一样(我猜测-我们是一个Java店),如果您从单个供应商获取所有产品,则会获得紧密集成的奖励。
例如,他们如何实现互操作性,请查看其 互操作性页面
足够推销了。一般来说,我可以总结他们的一般方法:
- 在错误跟踪器中创建问题(例如:PROJ-123问题键)。 - 当您提交代码时,请将“PROJ-123”添加到提交注释中,以指示此代码更改修复了哪个错误。 - 当CI服务器检出代码时,请扫描差异的提交注释。记录与您的问题关键字匹配的任何字符串。 - 构建完成后,生成发现的问题键报告。
特别针对您的第二个问题:
你的CI不必将任何内容放入你的缺陷跟踪器中。Bamboo不会将任何内容放入JIRA中。相反,Atlassian提供了一个插件给JIRA,该插件会对Bamboo进行远程API调用,询问“Bamboo,我(一个JIRA问题)与哪些构建相关?”这可能最好通过screenshot来解释。

3
我曾经使用过的所有CI设置都会发送电子邮件(到列表),但如果您愿意,特别是如果您的团队将FogBugz用作待办事项系统,您可以在FogBugz 6中打开一个案例。 它有一个API,可以让您打开案例。说到这一点,您甚至可以将其配置为将电子邮件发送到您的FogBugz的电子邮件提交地址,但API可能会让您做更多的事情,例如将案例分配给最后的提交者。

Brian的答案让我想到,如果您的CI发现了一个提交中的错误,并且该提交有一个案例号码,您甚至可以重新打开现有的案例。尽管如此,像为每件小事编码案例字段一样,CI自动化也有可能变得“太聪明”,搞错了,只会变得烦人。打开一个新的案例就足够了。

谢谢:这让我想知道是否应该尝试将我们的Chimps设置与我们的FogBugz集成!


0

CC自带一个实用程序,当构建失败时会发出警告。在FogBugz中记录失败的构建可能没有意义 - 您不需要跟踪立即解决的问题(因为大多数破损的构建都会被解决)

要反过来(FogBugz显示修复问题的提交),您需要一个基于Web的存储库浏览器 - FogBugz易于配置,以便显示正确的更改。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接