Skip to content

[RFC] [Bug] New pull request automatically assigns and notifies every maintainer. #10613

@peternied

Description

@peternied

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.

Metadata

Metadata

Assignees

Labels

RFCIssues requesting major changesbugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions