Я пытаюсь создать из конвейера 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
только с использованием синтаксиса шаблона, а не макроса или синтаксиса времени выполнения.
Я не могу придумать другого способа динамического доступа к переменным, предоставляемым группой переменных. Какие-либо предложения?