将 TeamCity VCS 提交转换为修改 ID

Converting a TeamCity VCS commit to modification ID

我正在尝试 运行 使用特定 git 提交通过 REST API 构建 TeamCity。通过 API 创建新构建需要 TeamCity 修改 ID,而不是 git 提交引用。

如何将 git 提交转换为 TeamCity 修改 ID?到目前为止我发现最接近的是调用 /app/rest/changes?fields=change:(version,webUrl),其中 returns 是 <change /> 节点的列表,然后从 webUrl 属性 解析 modId,但我不是确定如何通过 TeamCity 定位器对其进行过滤以仅包含我需要的特定提交。

我发现这可以通过像这样调用端点来实现:/httpAuth/app/rest/changes?locator=version:<version>&fields=change:(version,id)

这将 return 一个包含单个变更集的更改数组 - version 键将匹配您筛选的 VCS 版本,id 键将是 TeamCitys 修改 ID ,然后可以将其输入到对具有特定变更集的队列构建等的进一步调用中。