TeamCity API。如果正在进行构建,请不要运行新的构建

时间:2019-04-19 14:09:46

标签: teamcity jira

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

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

请求正文:

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

问题:由于JIRA不了解构建是否在TeamCity上运行,因此如果执行了规则,JIRA将再次启动构建

1 个答案:

答案 0 :(得分:0)

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-两者

enter image description here

它如何工作? 您将触发配置 B 。 B依赖于A。B检查A是否已经有一个带有某些分支并提交的构建,因此,无需再运行它,让我们结束。

如果A具有新的提交,则 B 会看到A具有更改,因此让我们开始一个新的Build A,等待完成。

如果A失败,那么B也将失败。

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