Проблема при передаче параметра в конвейер azure yaml с использованием Azure Build API - PullRequest
0 голосов
/ 13 июля 2020

Я пробовал использовать параметры в конвейере, как показано ниже ::

  • name: var1 displayName: var1 type: string default: variable2 values:
    • variable2
    • variable3
    • переменная 4

теперь, когда я пытаюсь ударить почтальоном и передать параметр в теле в соответствии с ниже

отправить вызов -> https://dev.azure.com/ / /_apis/build/builds?api-version=5.0 body ->

{"определение": {"id": 1234}, "var1": "variable1"}

по-прежнему, когда я получаю значение параметра в конвейере .. Я получаю значение по умолчанию, а не то, которое я передал с помощью api.

echo «Передана переменная $ {{parameters.var1}}» вывод - -> Переданная переменная переменная 2

Спасибо, Шарад

1 Ответ

0 голосов
/ 14 июля 2020

Это проблема, о которой мы сообщили группе разработки продукта: 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 }}
...