如何使用Azure DevOps Rest API使用Powershell获取发布状态(成功,失败)

时间:2019-09-19 14:50:06

标签: powershell azure-devops-rest-api

我正在使用post方法在Azure DevOps中创建发行版:

$url = "https://vsrm.dev.azure.com/"+$organization+"/"+$project+"/_apis/release/releases?api-version=5.1" $body = @{definitionId = 9} | ConvertTo-Json -Depth 4 Invoke-RestMethod -Uri $url -Method POST -Body $body -ContentType "application/json" -Headers @{Authorization = ("Basic {0}" -f $base64AuthInfo)}

我的管道很简单,只有一个阶段,可以自动执行。发布创建和执行工作正常。

但是如何使用powershellREST API获取我的舞台状态。在发布过程中,我需要继续执行脚本,如果任何一个阶段失败,都将启动脚本失败。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用DefinitionID和EnvironmentID(您将从初始POST响应中获取此信息),您可以查询上一个发行版,并按时间间隔检查“ deploymentStatus”值,并在状态更改为“成功/失败/取消”时退出。 / p>

(collectionURL)/(teamproject)/ _ apis / Release / deployments?definitionId =“ + RELEASE_DEFINITIONID +”&definitionEnvironmentId =“ + RELEASE_DEFINITIONENVIRONMENTID?api-version = 1.0

enter image description here