如何通过 Azure DevOps 更改拉取请求的目标 API

How to change pull request's target via Azure DevOps API

文档说 TargetRefName 可以在“启用 PR 重定向功能”时更新,但我在任何地方都找不到这个选项,也看不到任何关于如何启用它的文档。

如何启用 PR 重定向以便更新 PR 的目标?

https://docs.microsoft.com/en-us/rest/api/azure/devops/git/pull%20requests/update?view=azure-devops-rest-5.1

我成功地使用您提供的 API 更新了目标分支,正文如下:

{"targetRefName":"refs/heads/test"}

在 PowerShell 中:

$pat = "YOUR-PAT"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,"$pat")))
$headers = @{Authorization=("Basic {0}" -f $base64AuthInfo)}

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

$json = '{"targetRefName":"refs/heads/master"}'

$response = Invoke-RestMethod -Uri $url -Method PATCH -ContentType application/json -Headers $headers -Body $json

看起来每个 PR 都可以重新定位,我没有看到 enable/disable 功能选项。

顺便说一下,我只在上面成功了 JSON,如果你尝试获取 PR 并更改 targetRefName,你会得到一个错误。

单击更多操作按钮(...),您将看到“更改目标分支”