6

CIにはcruisecontrol.rbを使用し、バグ追跡にはFogBugzを使用していますが、回答が一般的であればあるほどよいでしょう。

最初は技術的な問題です:FogBugz用のAPIはありますか?優れたチュートリアル、またはさらに良いのは、事前に作成されたコードはありますか?

2つ目は、手続き上の問題です。ビルドが壊れたときに、CIはバグトラッカーに何を入れる必要がありますか?多分:

タイトル:「#{最後のコミッター}がビルドを壊しました!」

本文: "#{エラートレース}"

これは、この質問に対する答えを前提としていると思います。バグ追跡にCIブレークを含める必要がありますか?

4

3 に答える 3

4

At my company we've recently adopted the (commercial) Atlassian stack - including JIRA for issue tracking and Bamboo for builds. Much like the Microsoft world (I'm guessing - we're a Java shop), if you get all your products from a single vendor you get the bonus of tight integration.

For an example of how they've done interoperability, view their interoperability page.

Enough shilling. Generally speaking, I can summarize their general approach as:

  • Create issues in your bug tracker (ex: issue key of PROJ-123).
  • When you commit code, add "PROJ-123" to your commit comment to indicate what bug this code change fixes.
  • When your CI server checks out the code, scan the commit comments of the diffs. Record any strings matching the regex of your issue keys.
  • When the build completes, generate a report of what issue keys were found.

Specifically to your second problem:

Your CI doesn't doesn't have to put anything into your bug tracker. Bamboo doesn't put anything into JIRA. Instead, the Atlassian folks have provided a plugin to JIRA that will make a remote api call into Bamboo, asking the question "Bamboo, to what builds am I (a JIRA issue) related?". This is probably best explained with a screenshot.

于 2008-08-16T18:02:03.717 に答える
3

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!

于 2008-08-16T19:56:45.093 に答える
0

CCには、ビルドが失敗したときに警告するユーティリティが付属しています。失敗したビルドをFogBugzに記録する価値はないでしょう。すぐに解決される問題を追跡する必要はありません(ほとんどの壊れたビルドはそうなるでしょう)。

逆に(FogBugzが問題を修正したチェックインを表示する)には、Webベースのリポジトリブラウザーが必要です。FogBugzは、適切な変更を表示するように簡単に構成できます。

于 2008-08-16T16:23:57.770 に答える