Динамически назначать человека, который ставит релиз на утверждение в Azure DevOps? - PullRequest
0 голосов
/ 19 января 2020

У меня двухэтапный выпуск:

  1. Этап 1 создает тестовую базу данных
  2. предварительное утверждение на этапе 2
  3. Этап 2 тестовой базы данных только что создан уничтожено

Эта настройка позволяет разработчикам проверять изменения перед утверждением автоматической очистки.

Мой вопрос заключается в том, возможно ли динамически установить утверждение перед развертыванием (шаг № 2 выше) для пользователя, который представил релиз? Если нет, возможно, есть лучший способ приостановить выпуск, пока отправитель вручную не разрешит его продолжить?

1 Ответ

0 голосов
/ 20 января 2020

Для этой проблемы вы можете попытаться установить утверждающего с помощью Definitions - Update rest api.

Вы можете добавить утверждающего в аргументе "preDeployApprovals". Например:

"preDeployApprovals": {
                "approvals": [{
                    "approver": {
                        "id": "9f723013-a332-64e5-aea9-6e3ebxxxxx",
                        "displayName": "hughl01",
                        "isContainer": false
                    },
                    "isAutomated": false,
                    "isNotificationOn": false,
                    "rank": 1,
                    "id": 0
                }]
            },

Затем вы можете установить утверждение перед развертыванием для пользователя, который отправил релиз с помощью предварительно определенных переменных:

  • Release.RequestedFor Отображаемое имя удостоверение, вызвавшее выпуск.
  • Release.RequestedForId Идентификатор удостоверения, инициировавший выпуск.

В теле запроса вы можете использовать $(Release.RequestedFor) для динамического получения имени пользователь, который запустил релиз и использовал его в качестве имени утверждающего. То же самое относится и к $(Release.RequestedForId).

. Вот несколько ссылок для вас:

набор утверждающих с PowerShell

предустановленный выпуск переменные

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