基于源分支中的提交创建从源分支到目标分支的合并请求

问题描述 投票:0回答:2

我有一个 PowerShell 脚本,用于使用 Azure DevOps API 创建从开发到掌握的合并请求。

$uri = "https://dev.azure.com/$organization/$teamProject/_apis/git/repositories/$repoName/pullrequests?api-version=5.1"
$body = "{sourceRefName:'develop',targetRefName:'master',title:'develop to master'}"
$result = Invoke-RestMethod -Uri $uri -Method Post -ContentType "application/json" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body

是否可以基于使用 Azure DevOps API 开发的提交创建合并请求? 例如,考虑这是我的开发分支,具有以下提交历史:

commit #5
commit #4
commit #3
commit #2
commit #1

我可以创建一个 Pull Request,这样 Pull Request 应该只包含以下提交:

commit #3
commit #2
commit #1
azure-devops azure-devops-rest-api azure-repos
2个回答
0
投票

您可以从任何您喜欢的提交创建一个分支,然后通过 PR 合并该分支。

git checkout commit3
git branch foo
git push foo

然后从

foo
分支做PR。


0
投票

Rest Api(和手动创建)不支持提交选择...您可以尝试创建一个临时分支并从中使用 PR。

要创建分支,请尝试使用 refs:Update Refs

请求体应该是这样的:

{
  "name": "refs/heads/my-temporary-branch",
  "oldObjectId": "0000000000000000000000000000000000000000",
  "newObjectId": "commit #3 ID"
}
© www.soinside.com 2019 - 2024. All rights reserved.