如何通过 REST API 为管道运行指定 sourceBranch?

Dim*_*tar 4 api rest azure-devops azure-pipelines

我一直在尝试为我正在使用的存储库的特定分支运行管道。

在用户界面中,有一个方便的选项,但我不明白在请求中尝试什么。

在此输入图像描述

不管我做什么,我总是逃避主人。

我该如何改变这一点?我尝试填写存储库参数但无济于事:https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/run%20pipeline ?view=azure-devops-rest- 6.0#repositoryresourceparameters

这是一个请求示例:

curl --location --request POST 'https://dev.azure.com/<redacted>/<redacted>/_apis/pipelines/<redacted>/runs?api-version=6.0-preview.1' \
--header 'Authorization: Basic <redacted>' \
--header 'Content-Type: application/json' \
--header 'Cookie: VstsSession=<redacted>' \
--data-raw '{   
    "previewRun": true,
    "resources": {
        "repositories": {
            "refName": "refs/heads/<redacted>"
        }
    },
    "runParameters":
    {
        "namespace" : "<redacted>",
        "image" : "<redacted>",
        "tag" : "<redacted>",
        "package" : "<redacted>",
        "version" : "8.4.4"
    }
}'
Run Code Online (Sandbox Code Playgroud)

Kev*_*SFT 5

从您的屏幕截图来看,您似乎正在使用 YAML 管道。

我已经测试了您的示例,此问题的根本原因是请求正文(data-raw)存在一些问题。

你可以试试我的样品

curl --location --request POST 'https://dev.azure.com/<redacted>/<redacted>/_apis/pipelines/<redacted>/runs?api-version=6.0-preview.1' \
--header 'Authorization: Basic <redacted>' \
--header 'Content-Type: application/json' \
--header 'Cookie: VstsSession=<redacted>' \
--data-raw '{   
"stagesToSkip":[],
    "resources":
    {
        "repositories":
        {
            "self":{"refName":"refs/heads/{Branchname}"}
            }

    },
    "templateParameters":
    {
        "namespace":"{value}",
        "image":"{value}",
        "tag":"{value}",
        "package":"{value}",
        "version":"{value}"
    },
    "variables":{}
}'
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述