Question

My company uses Jenkins to do an automated daily build, and FogBugz to track and document our bug fixes. This all works well.

When we've finished testing a Release Candidate and are ready to publish it to the world, we use FogBugz' Release Notes Report feature to automatically generate a text file containing descriptions of what has changed since the previous published release.

That mostly works, but the problem is that our Release Candidate testing can take a month or longer to complete -- so by the time the Release Candidate has passed the testing process and we are ready to publish it, additional bug fixes have been committed into SVN and documented in FogBugz. Therefore, if we then generate a Release Notes report from FogBugz, the report will include descriptions of changes that are not actually present in the Release Candidate we are ready to publish. (*)

The easy solution to the above problem is to generate the Release Notes document on the same day that the Release Candidate itself is compiled; that way the Release Notes document will match the state of the Release Candidate's tested executables. But it is a bit tedious and error-prone to do that by hand for every Release Candidate, so what I'd like to do is have Jenkins do a "Daily Build" of the Release Notes document, the same way it does a Daily Build of the program executables. The Release Notes document would then be kept together with the executables in the Artifacts directory, for use if we decide to publish a Release Candidate based on that day's daily build.

I think that would work really well, but I'm not sure how to get FogBugz to generate a report from a script. Is there a way to do that?

(*) Another approach to this problem would be to create a new Milestone every time we start testing a Release Candidate, but I don't want to do that because it would clutter up our FogBugz database with too many Milestones as buggy Release Candidates were abandoned and new ones were adopted.

Was it helpful?

Solution

I made some headway on this issue... it's possible to use FogBugz' XML API to get XML Release notes. First you have to get a token, as described here.

Then the shell script can execute a command like this one:

wget -OReleaseNotes.xml 'https://fogbugz.mycompany.com/api.asp?token=the_token_value_from_above_goes_here&cmd=search&q=fixfor:MyMilestone&cols=ixBug,sCategory,sTitle,sReleaseNotes'

I suspect there is a more elegant way to do it, and it would be nice if I could get the data in HTML or ASCII format rather than XML, but this is better than nothing.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top