【问题标题】:TeamCity REST API to get list currently broken projectsTeamCity REST API 获取当前损坏项目的列表
【发布时间】:2013-12-21 01:56:37
【问题描述】:

使用 TeamCity 8.0.4(内部版本 27616)

我使用对我的 TeamCity 服务器的调用来获取损坏的构建列表:

http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:failure,sinceBuild:(status:success)

如果我的项目处于失败状态,则该 API 调用返回 count =1 和损坏项目的详细信息。

问题是,如果该项目当前正在运行构建,则 API 调用返回计数 0,并且损坏列表中没有项目。

一旦项目构建完成(并再次中断),计数就会回到 1。

所以希望我的定位器查询中有一些内容可以更改以获取损坏的构建,即使它们当前正在构建。

TC ui 好像知道了,因为我的破项目的父项目都显示为红色。只是不确定如何在 API 查询中正确使用它。

【问题讨论】:

    标签: teamcity teamcity-8.0


    【解决方案1】:

    尝试添加running:any。也许running 默认为false,虽然我在documentation 中找不到。

    【讨论】:

      【解决方案2】:

      以下是显示失败构建列表的方法:

      http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:failure
      

      失败的构建是已经完成并失败的构建,我认为您正在寻找一种显示正在运行和失败的构建的方式:

      http://teamcity.exactbid.net/guestAuth/app/rest/builds/?locator=status:error,status:running
      

      这会查找正在运行且包含错误的构建(这会导致构建失败,除非明确告知不要这样做)

      您可能必须使用两个 REST API 调用来获取构建:

      1. 已完成但失败
      2. 正在运行和失败

      【讨论】:

      • 您指出我并不是在寻找所有过去损坏的构建是正确的。也许我应该改写我的问题词来说明我正在寻找项目列表that have the last completed build that broke。因此,如果 ProjectA 上次完成的构建失败,但它有一个构建正在运行,我仍然希望列出 ProjectA。我认为您是对的,我可能需要执行两次或多次 REST 调用来计算此信息。
      • 可能想要更改问题的标题以获得更好的答案。不过,这里有一些伪代码可以帮助您渡过难关: 循环遍历 TC 服务器上的每个构建配置;检查上次构建的状态;保存失败的构建列表;显示失败的构建
      • 注意:做一个有多个值的状态定位器,使用格式?locator=status:(error,running)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多