如何使用TeamCity REST API通过项目获取失败和错误的构建?

时间:2014-08-04 18:49:03

标签: teamcity teamcity-8.0

我想使用TeamCity REST API按项目查询失败,错误和成功的构建。基本上我想在一个单独的应用程序中重新创建这个汇总:

enter image description here

有没有简单的方法可以做到这一点?我能得到的最接近的是这个查询,但它比给定构建配置的最新失败构建要多得多:

http://teamcity:8111/app/rest/builds/?locator=<project id locator>,status:failure

2 个答案:

答案 0 :(得分:2)

REST API目前没有这样的方法,有两种选择:

1)使用一个HTTP请求全局请求构建配置列表,然后对于项目中的每个构建配置,您希望为每个构建配置提供最新的X构建 - 在您的情况下X是1使用

/httpAuth/app/rest/builds/?locator=buildType:BUILD_TYPE_ID&count=1

这将需要1 + N个HTTP请求,N是项目中构建类型的数量,并且始终是正确的。

2)执行类似于您已经在做的事情,然后解析响应,按构建类型ID分组并使用每个中的最新一个来执行汇总 - 如果它们不在,您可能会错过这里的构建前100个最新版本 - 您可以使用count=XXX请求参数扩展搜索范围。

/httpAuth/app/rest/builds/?locator=project:(id:PROJECT_ID)&count=XXX

这将使用1个HTTP请求,但可能会遗漏旧版本

答案 1 :(得分:0)

使用最近的TeamCity版本(当然是9.1.1及更新版本),您可以获得所有失败的版本:

/httpAuth/app/rest/problemOccurrences?locator=affectedProject:<Project ID>,currentlyFailing:true

这将生成所有当前失败的构建及其构建ID的列表。然后你可以得到关于每个构建的详细信息:

/httpAuth/app/rest/builds/id:<Build ID>