Получить результат сборки Azure DevOps, используя Rest API - PullRequest
1 голос
/ 29 мая 2019

Я пытаюсь получить результат сборки Azure DevOps, т.е. успешно / с ошибкой через REST API, так что я могу использовать результат, чтобы поставить следующую сборку в очередь или нет.

Я использовал нижеприведенноеСкрипт 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

Я пытался использовать эту ссылку чтобы получить результат сборки.Попытка получить определение сборки тоже, но это также не предоставляет информацию о результате сборки.Я тоже пробовал логи, опять та же проблема.Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Результат сборки можно получить с помощью следующего сценария.

 $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)"

enter image description here

0 голосов
/ 29 мая 2019

status - это текущий статус сборки (выполняется, завершен и т. Д.), Статус результата находится в свойстве result, проверьте responseFromGet.result.

...