Как узнать: все ли коммиты в данной ветке охвачены запросом на перенос? - PullRequest
0 голосов
/ 28 мая 2020

наш внутренний процесс разработки требует, чтобы мы официально доказали, что все отправленные коммиты охватываются проверкой (= запрос на вытягивание).

Я знаю, что если бы мы включили защиту веток с начала о существовании репо и его ветвей ни одна фиксация не может быть перенесена в защищенные ветки без проверки / запроса на вытягивание. позволяет не закрывать коммит обзором ".

Есть идеи, как это можно сделать? Могу ли я получить все данные через REST API и создать отчет самостоятельно или что-то уже существует, не нашел ничего в этом направлении в веб-интерфейсе.

Спасибо

1 Ответ

1 голос
/ 29 мая 2020

Вы можете воспользоваться расширением Pull Request Manager Hub . Он может перечислять ваши запросы на слияние всех ваших проектов и репозиториев в одном месте.

После установки этого расширения в вашей организации. Вы можете go в Центре диспетчера запросов на вытягивание под Repos со своей Azure страницы пользовательского интерфейса DevOps Project, чтобы проверить рецензенты , статус и др. Реквизиты ПР. См. Ниже:

enter image description here

Вы также можете использовать rest api, чтобы получить все данные и создать отчет самостоятельно. См. Ниже Получить запросы на слияние rest api.

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId or repositoryName}/pullrequests?api-version=5.1

Чтобы получить рецензентов, вы можете использовать Pull Request Reviewers - List rest api.

См. Ниже примеры сценариев в PowerShell для вызова rest api . Отметьте здесь , чтобы получить токен персонального доступа.

$url ="https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId or repositoryName}/pullrequests?api-version=5.1"

$pat = "Personal Access Token"    

$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($pat)"))

$PRs=Invoke-RestMethod -Uri $url -Headers @{Authorization = ("Basic {0}" -f $base64AuthInfo)} -Method get -ContentType "application/json" 

$PRs.value | select pullRequestId, reviewers
...