You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用TeamCity API获取含步骤失败状态的正确REST请求是什么

构建状态截图

解决方案

你当前调用返回的build.status为顶层聚合状态,若你的构建配置开启了「步骤失败时继续执行构建」规则,该字段不会同步步骤失败的结果,仅会在触发超时、依赖失败等全局异常时返回非SUCCESS状态。你可以通过以下两种方式获取包含步骤失败的完整构建状态:

方式1:调用专用状态端点(最简便)

该端点会直接返回聚合所有失败条件的最终构建状态,无需额外解析字段:

$status = Invoke-RestMethod -Uri "%teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%/status" -Method Get -Headers $header

返回值为纯字符串,构建正常时返回SUCCESS,存在步骤失败、测试失败等异常时返回FAILURE。

方式2:原有接口补充字段参数

如果你需要同时获取构建的其他元数据,可以在原有请求URL后添加fields参数,主动拉取步骤状态和完整状态说明:

$buildInfo = Invoke-RestMethod -Uri "%teamcity.serverUrl%/httpAuth/app/rest/builds/id:%teamcity.build.id%?fields=id,status,statusText,buildSteps(step(id,name,status))" -Method Get -Headers $header

你可以通过$buildInfo.statusText查看状态详情,也可以遍历$buildInfo.buildSteps.step校验每一步的执行状态。

补充说明:如果调用后仍未获取到正确的失败状态,请检查你的构建配置「失败条件」页,确认已经勾选「任意构建步骤执行失败时将构建标记为失败」选项。

内容的提问来源于stack exchange,提问作者livetoski78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:45:03