我有一个 GitHub 存储库,当首次打开拉取请求时,它会自动请求代码所有者团队的评论(在
.github/CODEOWNERS
中定义)。我想要的是强制执行拉取请求必须得到代码所有者批准的要求,但在首次打开拉取请求时停止发送这些审查请求。即贡献者所需的流程是这样的:
open a pull request -> mess around, make changes -> manually request a review when ready (can't merge without codeowner approval)
这可以通过让贡献者打开草稿拉取请求并仅在它们实际准备好时将它们标记为准备好来解决,但贡献者似乎不想这样做。当它实际上还没有准备好进行审查时,贡献者通常会打开一个(非草稿)拉取请求(我想是习惯的力量)。
有没有一种方法可以做到这一点,并且不依赖贡献者使用草稿拉取请求?
我在 GitHub 论坛上发现了其他帖子,人们也在问同样的事情。我认为目前 GitHub 中还没有可以执行此操作的设置。我发现了这个评论: “对于这样的自定义工作流程,您可能需要查看 Probot。Work in Progress Probot 应用程序提供了一个示例,说明如何创建可以根据自定义逻辑阻止 PR 合并的机器人。”
我发现你可以用这个应用程序做这样的事情
version: 2
mergeable:
- when: pull_request.*, pull_request_review.*
name: 'Approval check'
validate:
- do: approvals
min:
count: 1
limit:
users: [ 'approverA', 'approverB' ]
它可能会解决您的问题,但对于我的情况,应用程序的不同部分有不同的代码所有者还不够好。