跳过阶段无法使用 azure devops rest api

Skip stages is not working using azure devops rest api

我有一个非常基本的管道,有 4 个阶段,对于生产阶段,我想 运行 来自单独的管道。我试图根据文档使用 build queue rest api 并使用下面的 payload

{
"stagesToSkip": [
    "Build"
],
"definition":
{
    "id": "24"
},
"resources": {
    "repositories": {
        "self": {
            "refName": "refs/heads/master"
        }
    }
},
"variables": {}

}

我通过仅选择一个阶段手动 运行 构建时获得了此有效负载 运行 它按预期工作,如突出显示但我使用其余 api 相同请求负载,它 运行 两个阶段。

任何指示我做错了什么??

您可以使用 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"

查看下面的测试结果。阶段已成功跳过。