Azure DevOps API - 从位于特定分支源中的 YAML 文件创建管道

Azure DevOps API - Create a pipeline from a YAML file located in a specific branch source

(这是我的第一个问题,我会尽量让大家理解)

Objective : From a Powershell script create a new Pipeline from a YAML file (located on a specific branch)

根据文档和我自己的知识,我得到这个JSON来创建我自己的管道:

$pipelineJSON = @{
    configuration = @{
        variables = @{
            example = @{
                value =  "to be defined"
            }
        }
        path = "azure-pipelines.yml"
        repository = @{
            id = "myRepoId"
            name = "myRepoName"
            type = "azureReposGit"
        }
        type = "yaml"
    }
    name = "pipeline-test"
    folder= "\"
} | ConvertTo-Json
$request = 'https://dev.azure.com/' + $organization + '/' + $projectName + '/_apis/pipelines?api-version=6.0-preview.1'
$responseCreatePipeline = Invoke-RestMethod $request -Method 'POST' -Headers $headers -Body $pipelineJSON -ContentType "application/json"

使用上面的代码我可以创建一个管道但只能从位于主分支上的 YAML 但在我的例子中我想创建这个来自位于不同分支的 YAML 文件的管道

我想我们应该可以在 JSON 中添加一个字段来指定它,但我没有找到任何东西。

有谁知道怎么做吗?

当使用端点“Pipelines - Create”为存储库创建 YAML 管道时,如果 YAML 文件的指定路径存在于默认分支上,默认情况下端点将使用来自的现有 YAML 文件默认分支。目前我们在此端点上没有任何可用选项来允许指定来自其他分支的现有 YAML 文件。创建并保存新的YAML流水线后,需要手动切换分支和YAML文件。

但是,作为解决方法,您可以尝试使用 Azure CLI“az pipelines create”。使用此命令,您可以通过参数'--branch'指定分支。

az pipelines create --name
                    [--branch]
                    [--description]
                    [--detect {false, true}]
                    [--folder-path]
                    [--org]
                    [--project]
                    [--queue-id]
                    [--repository]
                    [--repository-type {github, tfsgit}]
                    [--service-connection]
                    [--skip-first-run {false, true}]
                    [--subscription]
                    [--yaml-path]