-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[RFC] [Bug] New pull request automatically assigns and notifies every maintainer. #10613
Description
Is your feature request related to a problem? Please describe.
When pull requests are created in OpenSearch project, no matter what they are for, I am automatically notified by GitHub and there is no way to filter pull requests that I am participating in from those that I am not actively engaged in.
This causes me to miss pull requests that are relevant to me where I have more domain knowledge & makes it hard to use the notifications systems in general, see the thread from the public slack channel 🔒.
Describe the solution you'd like
Replace Codeowners to control accepting pull requests with a GitHub action check that reads from the list of maintainers any verifies they have approved the PR. Codeowners can still be used for mapping subject matter experts that want to be notified, but isn't a requirement for every maintainer to be listed on the top level.
By modifying the branch protection rules 'maintainer has approved' check, could be required (only bypassable by an Admin), which would offer effectively the same security as Codeowners.
Describe alternatives you've considered
I've attempted using third party tools, such as Octobox, as well as configuring email rules, and changing how I use GitHub notifications, by filtering to @mentioned. All of them fall short of the optimal solution which was GitHub teams, but is unavailable.
Additional context
When pull requests are created on OpenSearch, they use a repo specific file called CODEOWNERS [1]. This file automatically assign pull request reviewers based on who is assigned to own that code. This feature worked well when combined with Teams [2], where these could have many individuals, and the team would be notified and filterable separately from individuals. E.g. I could be on a team and the pull request notification would be tracked separately from if I was requested to review a change. However, due to a policy in the OpenSearch-Project organization there are restrictions on who can be in teams - which often prevents maintainers from being allowed. At a point in time, nearly all teams were deleted from the OpenSearch project.
- [1] About GitHub CodeOwners https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
- [2] About GitHub Teams https://docs.github.com/en/organizations/organizing-members-into-teams/about-teams
- [3] [META] Baseline MAINTAINERS, CODEOWNERS and external collaborator permissions .github#125