How do I integrate my continuous integration system with my bug tracking system?
bug-tracking, continuous-integration, cruisecontrol.rb, fogbugz
Solution
All the CI setups I've worked with send an email (to a list), but if you did want—especially if your team uses FogBugz much as a todo system—you could just open a case in FogBugz 6. It has an API that lets you open cases. For that matter, you could just configure it to send the email to your FogBugz' email submission address, but the API might let you do more, like assign the case to the last committer.
Brian's answer suggests to me, if your CI finds a failure in a commit that had a case number, you might even just reopen the existing case. Like codifying a case field for every little thing, though, there's a point where the CI automation could be "too smart," get it wrong, and just be annoying. Opening a new case could be plenty.
And thanks: this makes me wonder if I should try integrating our Chimps setup with our FogBugz!
Problem
I use cruisecontrol.rb for CI and FogBugz for bug tracking, but the more general the answers, the better. First is the technical problem: is there an API for FogBugz? Are there good tutorials, or better yet, pre-written code? Second is the procedural problem: what, exactly, should the CI put in the bug tracker when the build breaks? Perhaps: Title: "#{last committer} broke the build!" Body: "#{ error traces }" I suppose this presupposes the answer to this question: should I even put CI breaks into my bug tracking?