【发布时间】:2019-07-18 19:29:53
【问题描述】:
我正在尝试使用 Azure DevOps Services REST API 来设置 PR Completion Options 以对拉取请求强制执行 squash 合并。
注意:我无法设置分支策略来强制执行 squash 合并,因为我正在测试某些条件以查看是否需要 squash 合并并尝试强制执行 squash,就好像仅为该 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 中的拉取请求。
【问题讨论】:
-
对此我不是 100%,但我怀疑您正在寻找的行为只能通过分支策略来完成;您设置的标志可能会被 Web UI 忽略和/或仅在您还为 PR 设置自动完成时才被尊重,如果您没有其他可以阻止 PR 的策略,您可能不希望这样做立即完成。 (我相信完成后也会保留该标志以记录使用了哪些选项)。
-
谢谢@T2PS,我相信你在收到微软的回复后是对的。我不相信我会想以我想要的方式执行。
标签: azure-devops azure-devops-rest-api