Azure DevOps Pipeline динамически выводит список членов группы переменных

Я пытаюсь создать из конвейера YAML файл JSON, который будет использоваться как Cypress.env.json. Некоторые значения должны поступать из группы переменных (в конечном итоге привязанной к хранилищу ключей Azure). Я хочу, чтобы он создавался динамически, поэтому, если секрет добавлен в Key Vault и предоставлен через группу переменных, он будет записан как новое свойство файла JSON без необходимости изменения конвейера YAML. Я надеялся, что нашел трюк в этом ответе, который описывает недокументированную функцию с именем convertToJson, которая позволяет передавать объект конвейера как строку JSON в скрипт. Итак, я попробовал:

- job:
  variables:
  - group: DevVariableGroup
  steps:
  - bash: echo "${{ convertToJson(variables) }}"
    displayName: 'Get an Object - Bash'

Это работает постольку, поскольку я получаю строку JSON со всеми переменными, доступными во время компиляции. К сожалению, переменные, предоставленные группой переменных, не входят в их число. Мне удалось заставить работать функцию convertToJson только с использованием синтаксиса шаблона, а не макроса или синтаксиса времени выполнения.

Я не могу придумать другого способа динамического доступа к переменным, предоставляемым группой переменных. Какие-либо предложения?


person BigPigVT    schedule 06.05.2021    source источник