我有一个非常基本的管道,分为四个阶段,对于生产阶段,我想从单独的管道运行。我试图根据文档使用build queue rest api并使用以下有效负载
{
"stagesToSkip": [
"Build"
],
"definition":
{
"id": "24"
},
"resources": {
"repositories": {
"self": {
"refName": "refs/heads/master"
}
}
},
"variables": {}
}
当我通过仅选择一个阶段来手动运行构建并按预期方式运行它时,得到了这个有效负载,但是当我使用具有相同请求有效负载的其余api时,它将同时运行两个阶段。
任何指针我在做什么错??
答案 0 :(得分:0)
您可以使用Run Pipeline rest api跳过阶段。
POST https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs?api-version=6.0-preview.1
请参阅以下Powershell脚本示例:
$url="https://dev.azure.com/{org}/{proj}/_apis/pipelines/{pipelineId}/runs?api-version=6.0-preview.1"
$PAT='personal access token'
$body='{
"stagesToSkip":[ "Test" ]
}'
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$result1 = Invoke-RestMethod -Uri $url -Headers @{authorization = "Basic $base64AuthInfo"} -Method post -Body $body -ContentType "application/json"
请参阅以下测试结果。该阶段已成功跳过。