我试图通过REST API获得Azure DevOps构建的结果,即成功/失败,以便我可以使用结果将下一个构建排入队列。
我已经使用下面的powershell脚本来获取构建细节。但是,状态仅在构建是否“完成”时提供信息,而构建是否成功则不会获得该信息。
$Urinew = "https://<Org>/<project>/_apis/build/builds/"
$Uri2 = $Urinew+$buildId+"?api-version=5.0"
$responseFromGet = Invoke-RestMethod -Method Get -ContentType application/json -Uri $Uri2 -Headers @{Authorization=("Basic {0}" -f $base64authinfo)}
Write-host $responseFromGet
$status = $responseFromGet.status
我尝试使用此link来获取构建结果。试图也获得构建定义,但这也没有提供构建结果的信息。我也尝试过日志,同样是同样的问题。 任何帮助表示赞赏。
答案 0 :(得分:0)
status
是构建的当前状态(进行中,已完成等),结果状态位于属性result
中,检查您的responseFromGet.result
。
答案 1 :(得分:0)
您可以通过以下脚本获取构建结果。
$personalAccessToken="XXXXXX"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($personalAccessToken)"))
$header = @{Authorization=("Basic {0}" -f $token)}
$projectsUrl = "https://dev.azure.com/{org}/{project}/_apis/build/builds?api-version=5.0&resultFilter=all&definitions=XX"
$projects = Invoke-RestMethod -Uri $projectsUrl -Method Get -Headers $header
Write-Host "Pipeline = $($projects.value.result| ConvertTo-Json -Depth 1)"