K--
K--

Reputation: 734

How to enforce review from codeowners without automatically requesting a review?

I have a GitHub repo which automatically requests reviews from the codeowners team (defined in .github/CODEOWNERS) when a pull request is first opened. What I want is to enforce the requirement that pull requests must be approved by a codeowner, but to stop sending these review requests when the pull request is first opened. i.e. the desired flow for a contributer is something like this:

open a pull request -> mess around, make changes -> manually request a review when ready (can't merge without codeowner approval)

This could be solved by getting contributers to open draft pull requests and only marking them as ready when they are actually ready, but contributers don't seem to want to do this. Contributers will usually open a (non-draft) pull request when it's not actually ready for review (force of habit I suppose).

Is there a way to do this, which doesn't rely on contributers using draft pull requests?

Upvotes: 18

Views: 7028

Answers (1)

Lőrincz Péter
Lőrincz Péter

Reputation: 160

I found other threads on GitHub forums people asking for the same thing. I think for the moment there is no setting in GitHub where you can do this. I found this comment: "For customized workflows like this, you may want to check out Probot. The Work in Progress Probot app gives an example of how to create a bot that can block the merging of PRs based on custom logic."

I see that you can do something like this with this app

version: 2
mergeable:
  - when: pull_request.*, pull_request_review.*
    name: 'Approval check'
    validate:
      - do: approvals
        min:
          count: 1
        limit:
          users: [ 'approverA', 'approverB' ]

It might solve your problem, but for my case where there are different codeowners for different parts of the application is not good enough.

Upvotes: 1

Related Questions