0

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

  • 名称:var1 显示名称:var1 类型:字符串 默认值:variable2 值:
    • 变量2
    • 变量3
    • 变量4

现在,当我试图被邮递员击中并在下面的正文中传递参数时

发布调用 --> https://dev.azure.com/ <org_name>/<prj_name>/_apis/build/builds?api-version=5.0 body -->

{“定义”:{“id”:1234},“var1”:“variable1”}


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

echo "传递的变量是 ${{ parameters.var1 }}" 输出 --> 传递的变量是变量 2

谢谢沙拉德

4

1 回答 1

0

这是我们向产品团队报告的问题: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 }}
于 2020-07-14T03:45:00.297 回答