我公司使用Jenkins进行自动日常构建,FogBugz跟踪并记录我们的错误修复。这一切都运作良好。
当我们完成对候选版本的测试并准备将其发布到全世界时,我们使用FogBugz'Release Notes Report功能自动生成一个文本文件,其中包含自上一个发布版本以来已更改内容的说明。
这主要是有效的,但问题是我们的候选发布测试可能需要一个月或更长时间才能完成 - 所以当候选版本通过测试过程并且我们准备发布它时,其他错误修复已经有了已被提交到SVN并记录在FogBugz中。因此,如果我们然后从FogBugz生成发布说明报告,该报告将包括我们准备发布的发布候选中实际上不存在的更改的描述。 (*)
上述问题的简单解决方案是在编译Release Candidate本身的同一天生成发行说明文档;这样,发行说明文档将与发布候选者的可测试可执行文件的状态相匹配。但是对于每个候选发布者而言,手动执行此操作有点单调乏味且容易出错,所以我想做的是让Jenkins执行发行说明文档的“每日构建”,就像每日发布一样。构建程序可执行文件。然后,发行说明文档将与Artifacts目录中的可执行文件一起保存,以便在我们决定根据当天的每日构建发布候选发布时使用。
我认为这样做会很好,但我不确定如何让FogBugz从脚本生成报告。有没有办法做到这一点?
(*)解决这个问题的另一个方法是每次我们开始测试候选版本时创建一个新的里程碑,但我不想这样做,因为它会使我们的FogBugz数据库混乱,因为有太多的里程碑就像越野车一样发布候选人被放弃,新的候选人被采用。
答案 0 :(得分:1)
我在这个问题上取得了一些进展......可以使用FogBugz的XML API获取XML发行说明。首先,您必须获得一个令牌,如here所述。
然后shell脚本可以执行如下命令:
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'
我怀疑有一种更优雅的方式可以做到这一点,如果我能用HTML或ASCII格式而不是XML获取数据会很好,但这总比没有好。