TeamCity API。如果构建已经在进行中,则不要 运行 新构建

TeamCity API. Do not run new build if build is already in progress

如果来自分支的构建代码已经在进行中,如何防止启动构建代码分支?

构建通过 API 从 JIRA Automation(发送 Webhook 请求)运行到:
http://teamcity.url/app/rest/buildQueue?buildTypeId=<buildTypeId>

请求正文:

<build branchName="{{issue.fields.branch}}">
    <buildType id="<buildTypeId>"/>
</build>

问题: 因为 JIRA 不知道构建是否在 TeamCity 上 运行 ,所以如果执行了规则,JIRA 会再次启动构建

TL;DR

我检查过它有效

只需创建您想要 运行 的基本配置。假设 A

创建配置 B,它依赖于 A 作为带有参数

的 Slapshot 依赖项
  • Do not run new build if there is a suitable one - 选中
  • Only use successful builds from suitable ones - 选中
  • Run build on the same agent - 未选中
  • Make build start of faild -

它是如何工作的? 您将触发配置 B。 B 依赖于 A。B 检查 A 已经有一个带有一些分支和提交的构建,所以,不需要再 运行 一个,所以让我们完成。

如果 A 有一个新的提交然后 B 看到 A 有变化,所以让我们开始一个新的构建 A,等待完成。

如果A失败了那么B也会失败。

p.s。现在你应该触发 B 而不是 A