如何将我的持续集成系统与我的错误跟踪系统集成?

时间:2008-08-16 16:09:16

标签: continuous-integration bug-tracking fogbugz cruisecontrol.rb

我使用cruisecontrol.rb进行CI和FogBugz进行错误跟踪,但答案越一般越好。

首先是技术问题:FogBugz有API吗?有没有很好的教程,或者更好的预编写代码?

其次是程序问题:当构建中断时,CI究竟应该在bug跟踪器中放置什么?也许:

标题:“#{last committer}打破了构建!”

正文:“#{错误追踪}”

我认为这预先假定了这个问题的答案:我是否应该将CI中断放入我的错误跟踪中?

3 个答案:

答案 0 :(得分:4)

在我的公司,我们最近采用了(商业)Atlassian堆栈 - 包括用于问题跟踪的JIRA和用于构建的Bamboo。就像微软世界(我猜 - 我们是一家Java商店)一样,如果你从单一供应商处获得所有产品,你就会获得紧密集成的好处。

有关他们如何完成互操作性的示例,请查看他们的interoperability page

足够先令。一般来说,我可以总结他们的一般方法:

  • 在您的错误跟踪器中创建问题(例如:PROJ-123的问题密钥)。
  • 提交代码时,请在提交注释中添加“PROJ-123”,以指明此代码更改修复了哪些错误。
  • 当CI服务器签出代码时,扫描差异的提交注释。记录与发行密钥的正则表达式匹配的任何字符串。
  • 构建完成后,生成一个关于找到问题密钥的报告。

特别针对您的第二个问题:

您的CI不必将任何内容放入您的错误跟踪器中。竹子没有任何东西进入JIRA。相反,Atlassian人员为JIRA提供了一个插件,它将对Bamboo进行远程api调用,询问“Bamboo,我的构建与JIRA问题有什么关系?”。最好用screenshot来解释这一点。

答案 1 :(得分:3)

我使用过的所有CI设置都会发送一封电子邮件(列表),但如果您确实需要 - 特别是如果您的团队使用FogBugz作为待办事项系统 - 您可以在FogBugz 6中打开一个案例。{ {3}}可让您打开案例。就此而言,您可以将其配置为将电子邮件发送到您的FogBugz电子邮件提交地址,但API可能会让您执行更多操作,例如将案例分配给最后一个提交者。

It has an API的回答告诉我,如果您的CI在具有案例编号的提交中发现失败,您甚至可能只是重新打开现有案例。就像编写每个小东西的案例字段一样,CI自动化可能“太聪明”,弄错了,只是烦人。打开一个新案例可能很多。

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

答案 2 :(得分:0)

CC附带了一个实用程序,可以在构建失败时向您发出警告,可能不值得记录FogBugz中的失败构建 - 您不需要跟踪立即解决的问题(因为大多数损坏的构建将会出现)

反过来说(FogBugz显示修复问题的签到)你需要一个基于Web的存储库浏览器--FogBugz很容易配置,以便它显示正确的更改。