Автоматическое завершение PR с помощью скрипта poweshell Azure devops

#azure-devops #azure-pipelines #azure-pipelines-release-pipeline

#azure-devops #azure-конвейеры #azure-конвейеры-релиз-конвейер

Вопрос:

Я создал сценарий powershell для автоматизации создания и завершения PR после фиксации в определенной ветке.

Я протестировал его на 2 тестовых ветках после предоставления службы сборки коллекции проектов (название организации)

обойти политику -Разрешить введите описание изображения здесь

Внести — разрешить

Он работает нормально, т.Е. создает и завершает PR.

Я пытаюсь использовать скрипт в нашей ветке разработки с тем же сценарием и конфигурацией.

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

Я не могу найти, где мне нужно снять эти ограничения.

Обновить

Просто чтобы уточнить, я не хочу, чтобы все пользователи могли отправлять контент в ветку разработки, а только в службу сборки коллекции проектов (название организации)

Комментарии:

1. вам нужно не только разрешение обхода, но и разрешение «push to master» (привилегия в соответствии с политиками обхода)

Ответ №1:

Пожалуйста, проверьте свою политику филиала (если она у вас есть), как показано здесь

введите описание изображения здесь

Комментарии:

1. спасибо за ответ @Krzysztof. Я прочитал содержимое ссылки. Как я упоминал в своем посте, я уже предоставил службе сборки коллекции проектов (msazure) обходную политику = Разрешить, поэтому, согласно вики, она должна работать и обходить другие политики, но это не так. Если я отключу политику ветвления, это будет означать, что все пользователи смогут отправлять полный контент в разработку

2. Помогло ли это вам?

3. Обновленный исходный вопрос

Ответ №2:

Вы можете перейти на страницу пользовательского интерфейса запросов на извлечение, чтобы проверить, какая учетная запись службы сборки создала этот запрос на извлечение. Если запрос на извлечение был создан в конвейере сборки. Он покажет, что запрос на извлечение был создан учетной ProjectName Build Service (OrganizationName) записью . Смотрите ниже:

введите описание изображения здесь

Тогда вам, вероятно, нужно также предоставить ProjectName Build Service (OrganizationName) политику обхода учетных записей -разрешить разрешение.

введите описание изображения здесь

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

Комментарии:

1. Я посмотрел имя службы, и оно идентично имени службы в самой ветке, в которой есть политики обхода — Разрешить.

2. Вы использовали сгенерированный системой токен доступа $(system.accesstoken) для авторизации или PAT, созданный самостоятельно в вашем сценарии powershell?

3. В моем скрипте я использую: $head = @{ Авторизация = «Предъявитель $ env:SYSTEM_ACCESSTOKEN» }