是否可以限制谁可以在 Azure DevOps 中完成拉取请求?

Posted

技术标签:

【中文标题】是否可以限制谁可以在 Azure DevOps 中完成拉取请求?【英文标题】:Is it possible to restrict who can complete a Pull Request in Azure DevOps? 【发布时间】:2020-02-05 16:46:17 【问题描述】:

我们只是从另一个 Git-Repo-Hosting-system 迁移到 Azure DevOps。在以前的系统中,可以限制允许谁完成拉取请求(假设所有发现都已解决)。这意味着拉取请求已“准备好”进行合并,但只有特定人员有权实际执行合并。

浏览 Azure DevOps 的文档,我没有发现这样一个开箱即用的功能。 我只是错过了它还是根本不可能?

谢谢

【问题讨论】:

【参考方案1】:

丹尼尔是对的。 Branch policies 已经完全按照你说的做。政策强制执行您团队的代码质量和变更管理标准。

您只需要使用 Require a minimum number of reviewers:

当所需数量的审阅者批准拉取请求时,它可以完成。

还可以扩展更多详细信息,并通过示例向您展示这将如何在您身边发挥作用。图片您有两个团队:

开发者:

帕特里克

卡尔

......

[项目]\PM 和开发经理

PM 和开发经理:

下午

开发人员经理

可以将 PM 和开发人员经理: 团队添加为分支政策中的“必需”,并保留 开发人员 团队拉取请求的权利,允许其他开发人员仍然批准请求和评论等。

但是在 PM 和 Developer Managers 组中的用户批准之前,该请求无法完成。

【讨论】:

这确实会限制 PR 在完全批准之前完成,但如果您想限制谁可以填写最终的“完成 PR”屏幕,它仍然是一种解决方法。据我所知,您无法设置允许谁填充该屏幕,例如确保选择正确的合并类型或删除源分支。 这根本不够。如果您有一个包含大量 PR 的大型项目,您有时希望对合并哪些 PR 以及以何种顺序进行合并。为此,通常会指定一个人来完成合并。分支机构政策不适合这种情况。【参考方案2】:

您正在寻找branch policies。分支策略允许您指定可以合并 PR 的情况,包括所需的批准者和构建。

【讨论】:

以上是关于是否可以限制谁可以在 Azure DevOps 中完成拉取请求?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Azure DevOps 的构建管道期间下载文件?

是否可以使用经典 UI 在 for 循环中运行 Azure DevOps 管道任务?

是否可以在资源的 ref 属性中使用变量:Azure DevOps YAML 的存储库?

如何请求访问 Azure DevOps 中的项目?

Azure Devops:是不是可以将 yaml 模板嵌套在另一个 yaml 模板中?

我可以在 Azure DevOps 中设置默认安全和/或分支策略吗?