使用 Azure Build API 将参数传递给 azure yaml 管道时遇到问题

Facing issue while passing parameter to azure yaml pipeline using Azure Build API

我尝试在下面的管道中使用参数 ::


现在当我试图被 postman 击中并在下面的 body 中传递参数时

post 调用 --> https://dev.azure.com///_apis/build/builds? api-版本=5.0 正文 -->

{ “定义”:{“id”:1234}, “var1”:“变量1” }


仍然是当我在管道中获取参数值时..我得到的是默认值,而不是我使用 api 传递的值。

echo "传递的变量是 ${{ parameters.var1 }}" output --> 传递的变量是 variable2

谢谢 沙拉德

这是我们已向产品团队报告的问题:https://developercommunity.visualstudio.com/content/problem/1000544/parameters-to-api-rest-build-queue-method.html

目前,作为一种解决方法,我们可以使用下面未记录的 REST API(由开发工具跟踪)通过传递参数来触发 YAML 管道。

POST https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineID}/runs?api-version=5.1-preview.1

Content-Type: application/json
Accept: application/json

Request body:

{
 "stagesToSkip":[],
 "resources":{
   "repositories":{
     "self":{
       "refName":"refs/heads/master"
       }
    }
 },
 "templateParameters":{
   "image":"ubuntu-16.04",
   "var1":"variable1"
   },
  "variables":{}
}

供您参考的yaml文件:

parameters:
- name: image
  displayName: Pool Image
  type: string
  default: ubuntu-latest
  values:
  - windows-latest
  - vs2017-win2016
  - ubuntu-latest
  - ubuntu-16.04
  - macOS-latest
  - macOS-10.14

- name: var1 
  displayName: var1 
  type: string 
  default: variable2 
  values:
  - variable1 
  - variable2
  - variable3
  - variable4


trigger: none


jobs:
- job: build
  displayName: build
  pool: 
    vmImage: ${{ parameters.image }}
  steps:
  - script: echo building $(Build.BuildNumber) with ${{ parameters.image }}
  - script: echo building $(Build.BuildNumber) with ${{ parameters.var1 }}