处理 Azure Devops 管道资源而不是其他 api

Handle Azure Devops pipeline resource over rest api

我有一个 Azure DevOps 管道,资源部分如下所示

resources:
  repositories:
  - repository: test
    type: git
    name: Hackfest/template
  pipelines:
  - pipeline: Build
    source: mybuild
    branch: main
    # version:  # Latest by default
    trigger:
      branches:
        include:
        - main

我正在尝试使用休息 api 调用来调用管道。下面给出了其余 api 调用的正文

    $body='{
    "definition": {            "id": "3321"        },
     "resources": {
       "pipelines": {
         "Build": {
            "version": "20220304.15",
            "source": "mybuild"
           }
          }
        },
    "sourceBranch": "main"

}'

使用上面的 json 字符串,我可以调用管道构建,但它不会从构建“mybuild”的版本 20220304.15 中选择工件。相反,它采用最新版本的 mybuild 并开始构建。

我应该如何修改上面的正文字符串以选择正确的“mybuild”版本?

Runs - Run Pipeline 这对我有用:

"resources":  {
                  "repositories":  {
                                       "self":  {
                                                    "refName":  "refs/heads/dev"
                                                }
                                   },
                  "pipelines":  {
                                    "Build":  {
                                                         "version":  "Build_202203040100.1"
                                                     }
                                }
              }