Azure devops 使用azure devops rest api跳过阶段不起作用

Azure devops 使用azure devops rest api跳过阶段不起作用,azure-devops,azure-pipelines,azure-devops-rest-api,Azure Devops,Azure Pipelines,Azure Devops Rest Api,我有一个非常基本的管道,有4个阶段,对于prod阶段,我想从单独的管道运行。我试图按照文档使用RESTAPI,并使用下面的有效负载 { "stagesToSkip": [ "Build" ], "definition": { "id": "24" }, "resources": { "repositories": {

我有一个非常基本的管道,有4个阶段,对于prod阶段,我想从单独的管道运行。我试图按照文档使用RESTAPI,并使用下面的有效负载

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

当我通过只选择一个阶段手动运行构建并运行它时,我得到了这个有效负载,正如高亮显示的那样,但当我使用具有相同请求有效负载的RESTAPI时,它同时运行两个阶段

任何我做错了什么的指针???

您可以使用RESTAPI跳过阶段

POSThttps://dev.azure.com/{organization}/{project}/_api/pipelineId}/runs?api版本=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"
见下面的测试结果。已成功跳过该阶段

您可以使用RESTAPI跳过阶段

POSThttps://dev.azure.com/{organization}/{project}/_api/pipelineId}/runs?api版本=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"
见下面的测试结果。已成功跳过该阶段


您好,您是否有机会查看下面的rest api。你觉得怎么样?是的,它工作得很好,谢谢你的回答。你有机会查看下面的RESTAPI吗。你觉得怎么样?是的,很好,谢谢你的回答