Есть ли способ установить переменные в группах переменных - PullRequest
1 голос
/ 12 июня 2019

Я пытаюсь поделиться информацией о версии из разных конвейеров, чтобы позже использовать их для создания конфигурации релиза в конвейере выпуска. Поэтому в основном мне нужно обмениваться информацией между различными конвейерами.

Чтобы создать уникальную версию, я всегда хочу использовать вывод git rev-parse HEAD.

Я уже пытался использовать группы переменных, но я мог только читать их, но не устанавливать их. И я не знаю другого способа, который поддерживается лазурными девопами, я, конечно, мог бы использовать файлы и публиковать их.

Я использовал пример, предоставленный документацией.

#!/bin/bash
echo "##vso[task.setvariable variable=sauce]crushed tomatoes"

Я ожидаю получить переменную изменения в группе переменных, чтобы позже прочитать эту переменную в конвейере выпуска. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 12 июня 2019

Нельзя изменить переменную в переменной с помощью команды ведения журнала task.setvariable.

Единственный способ обновить переменные в группе переменных - это Rest API :

PUT https://dev.azure/com/{organization}/{project}/_apis/distributestask/variablegroups/{groupId}?api-version=5.0-preview.1

Тело запроса:

{
   "variables": {
       "key1": {
          "value": "value1"
     }
  },
  "type": "Vsts",
  "name": "TestVarialeGroup",   
}

Так что вам нужно добавить задачу, которая оправдывает вышеуказанный Rest API, например, PowerShell:

enter image description here

Вам необходимо разрешить сценариям доступ к Токен OAuth (установите флажок в параметрах задания агента):

enter image description here

И дать права администратора пользователю сборки (группе переменных):

enter image description here

...