我之前通过获取两个修订版之间的提交 cmets 来自动化 TFS 的发行说明。
有两种方法可以实现这一点,具体取决于您是否使用 build.vcs.number 作为您的版本号的一部分 - 如果您这样做了,那么您将能够获得前一个版本号通过查询 API 构建。您可以在常规浏览器中浏览 API,只需将 buildTypeId 替换为 URL 即可查看结果。
http://tcserver/httpAuth/api/buildTypes/id:YOUR_ID_HERE/builds?count=1
您可以查询此数据集并提取属性值并将其分解,具体取决于您可能使用它的方式。
因此,在这种情况下,您的构建配置的一般构成是
步骤 1. 调用 API 并从 xml 属性解析先前的变更集编号
步骤 2. 使用 build.vcs.number 和 %PARSED_PARAMETER% 调用 exe
第 3 步。进行构建
如果您不使用它来构成版本号的一部分,那么您需要一个步骤来将此值保存到变量中,该变量应在构建结束时执行。我发现这必须通过将值发布到 API 来完成,以便它在 TeamCity 中持续存在,否则这将变得非常短暂。
对参数的url执行HTTP PUT操作,可以更新值。你参数的 url 看起来像这样
http://tcserver/httpAuth/app/rest/buildTypes/id:YOUR_ID_HERE/parameters/PARAMATER_NAME
更多细节可以在这里找到 - TeamCity Documentation
因此,在这种情况下,您的构建配置的一般构成是
步骤 1. 使用 build.vcs.number 和 %YOUR_PARAMETER% 调用 exe
第 2 步。进行构建
第 3 步。通过 API 调用更新 YOUR_PARAMETER
如果有帮助,我有代码可以使用 PowerShell 通过 API 更新参数,但不能假设您正在安装 Windows。让我知道它是否有用。
希望这会有所帮助。