【发布时间】:2018-04-15 15:40:53
【问题描述】:
我们有一个编排构建,如果它没有执行某些操作,我们希望将状态设置为部分成功。对于 Xaml 构建,我们可以通过设置构建的 CompilationStatus 和 TestStatus 来实现。
对于 Tfs 构建,我可以尝试通过设置调用 TFS Rest API 来更新构建结果。
$query = [uri]::EscapeUriString("$tfsCollection$tfsProject/_apis/build/builds/$buildId`?api-version=2.0")
$request = "{""result"":""$result""}"
try {
$result = Invoke-RestMethod -Method PATCH -UseDefaultCredentials -ContentType "application/json" -Uri $query -Body $request
}
catch{
Write-Output "StatusCode:" + $_.Exception.Response.StatusCode.value__ +
"`r`nStatusDescription:" + $_.Exception.Response.StatusDescription
}
调用后,我可以看到构建的功能区变为橙色,表示部分成功。但是,当运行构建的 Finalize Build 步骤时,它会变为成功。
如果最终构建以部分成功的状态结束,我应该怎么做。
【问题讨论】:
-
为特定步骤启用控制选项“
Continue on Error”。但前提是,如果没有做某些事情,通常该步骤将失败。如果步骤正常成功,该选项将不起作用。
标签: tfs azure-devops azure-pipelines