如何通过变量判断TFS vNext构建是否失败?

时间:2016-05-13 13:59:58

标签: tfs azure-devops tfsbuild

我正在尝试执行不同的操作(例如,如果构建失败,则复制到发布时的其他目录)。我无法找到任何有关任何变量的文档,如果失败或不知道。任何人都可以告诉我如何判断构建是否失败?

1 个答案:

答案 0 :(得分:3)

您可以创建PowerShell脚本来调用Rest API以获取构建信息(您需要启用备用凭据):

[String]$buildID = "$env:BUILD_BUILDID"
[String]$project = "$env:SYSTEM_TEAMPROJECT"
[String]$projecturi = "$env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"

$username="alternativeusername"
$password="alternativepassword"

$basicAuth= ("{0}:{1}"-f $username,$password)
$basicAuth=[System.Text.Encoding]::UTF8.GetBytes($basicAuth)
$basicAuth=[System.Convert]::ToBase64String($basicAuth)
$headers= @{Authorization=("Basic {0}"-f $basicAuth)}

$url= $projecturi + $project + "/_apis/build/builds/" + $buildID + "/timeline?api-version=2.0"
Write-Host $url

$responseBuild = Invoke-RestMethod -Uri $url -headers $headers -Method Get | select records

然后您可以检查信息中的结果,看看是否有任何失败的步骤,然后执行您想要的操作:

foreach ($record in $responseBuild.records)
{
    $result = $record.result
    ##xxxxxxxxxxxxxxxxxxxx
}