【问题标题】:Skip stages is not working using azure devops rest api使用 azure devops rest api 跳过阶段不起作用
【发布时间】:2020-07-09 10:26:29
【问题描述】:

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

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

}

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

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

【问题讨论】:

  • 嗨,你有机会检查下面的 rest api。你过得怎么样?

标签: azure-devops azure-pipelines azure-devops-rest-api


【解决方案1】:

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

见下面的测试结果。该阶段已成功跳过。

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2022-07-17
    • 2020-08-13
    • 2019-09-01
    • 1970-01-01
    • 2021-03-25
    相关资源
    最近更新 更多