Мне нужно передать все запросы на включение из ветвей /hotfix в /main (например, refs/heads/hotfix/branch1, refs/heads/hotfix/branch2 и т. д. в /main).
https://dev.azure.com/{ORG}/{PROJECT}/_apis/git/pullrequests?searchCriteria.reviewerId = {ID}&searchCriteria.status=completed&searchCriteria.sourceRefName=refs/heads/hotfix/&searchCriteria.targetRefName=refs/heads/main
Я не получаю веток под исправлением, однако, если я помещаю конкретную ветку в исправление/, например «исправление/ветвь», это работает. Я хотел бы получить все ветки, находящиеся в разделе «refs/heads/hotfix».
Пробовал с refs/heads/hotfix/* (не работает). Я также пробовал &includeChildren=true, тоже не работает.
searchCriteria.targetRefName
и searchCriteria.sourceRefName
не поддерживают подстановочные знаки. Вы можете удалить searchCriteria.sourceRefName
из URL-адреса запроса и отфильтровать его по исходной ветке в теле ответа. См. пример ниже.
Скрипты PowerShell:
$token = "{PAT}"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$url = "https://dev.azure.com/{Org}/{Project}/_apis/git/repositories/{RepoId}/pullrequests?searchCriteria.targetRefName=refs/heads/main&api-version=7.1-preview.1"
$head = @{ Authorization = " Basic $token" }
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $head -ContentType application/json
# Filter all PRs which source branch is `refs/heads/hotfix/*`
$filteredPullRequests = $response.value | Where-Object { $_.sourceRefName -like "refs/heads/hotfix/*" }
$filteredPullRequests
Полученные результаты: