我正在尝试使用Azure DevOps Services REST API来设置PR Completion Options,以对请求请求实施壁球合并。
注意:我无法设置分支策略来强制执行壁球合并,因为我正在测试某些条件以查看是否需要进行壁球合并并尝试执行壁球合并,就像分支策略仅为此PR设置。
当我打以下电话时:
PATCH https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=5.0
{
"completionOptions": {
"squashMerge": true
}
}
响应显示已设置值
但是,当尝试完成请求时,我希望选中“合并时压缩更改”复选框。
如果我将表单保持原样并完成合并,则不会执行压扁操作。
如果将bypassPolicy
设置为true,则完成选项仍然没有区别。
因此,总而言之,我知道调用成功,因为响应是通过设置的选项返回的,但是更改似乎并没有传递到Azure DevOps中的Pull Request。
答案 0 :(得分:0)
Microsoft在the developer community forums中回答了以下答案。
在这种情况下,UI中的预期行为之间存在差异 并通过REST端点。在完成选项中设置squashMerge 告诉PR只有在完成南瓜后才能完成南瓜 REST端点。在用户界面中,我们尊重用户设置 使用户可以选择他们想做的事情(如果没有) 政策已启用)。在这种情况下,您没有启用策略,因此用户 可以 壁球。用户偏好实际上已被取代 您使用REST API所做的事情。如果壁球合并了以前的PR 我们会记住这一点,并在下一个创建相同的默认值 公关
TLDR:您不一定必须使用以下命令控制表单默认值 REST端点,并应使用策略强制执行壁球合并(或 希望您的用户可以根据自己的需要设置复选框 偏好设置,但我们不强制采用默认设置。
答案 1 :(得分:0)
答案 2 :(得分:0)