Есть ли способ потребовать, чтобы переменная была установлена ​​во время очереди? - PullRequest
0 голосов
/ 26 мая 2020

Думаю, я всегда могу добавить сценарий, который не работает, если переменная не установлена, но я надеялся, что есть способ предотвратить постановку конвейера в очередь, если не установлена ​​переменная спецификаций c.

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

Есть мысли здесь? (Да, я знаю, мы должны извлечь это из имени ветки или тега git, но в настоящее время этого нет в картах).

1 Ответ

0 голосов
/ 27 мая 2020

Эта функция в настоящее время не поддерживается в azure DevOps. Вы можете go проголосовать за голос пользователя или создать новый (нажмите Предложите функцию и выберите Azure DevOps ). Надеюсь, команда разработчиков рассмотрит возможность реализации этой функции в будущем спринте.

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

Если вы хотите проверять переменную перед любыми задачами запуска конвейера. Вы можете использовать остальные проверки api. См. этот поток для получения подробных инструкций.

Для вашего случая вам необходимо определить Variable ReleaseVersion на странице пользовательского интерфейса и установить флажок Let users override this value when running this pipeline enter image description here enter image description here

Задайте поля, как показано ниже:

суффикс URL-адреса и параметры : _apis/build/builds?definitions={your definition id}&$top=1&statusFilter=all&api-version=5.1

Критерии успеха : ne(root['value'][0]['parameters'],'{"ReleaseVersion":""}')

После настройки выше проверок. Ваш конвейер проверит переменную ReleaseVersion для текущей сборки. Трубопровод не запустится, если ReleaseVersion не установлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...