API to recursively apply group-level push rules to existing projects

Problem to solve

We introduced group-level push rules in #34370 (closed), but when applied they do not recursively and retroactively apply to existing projects. Newly created projects within the root group's hierarchy appropriately inherit these rules, but existing rules can number in the thousands and be a headache to update individually.

Intended users

JTBD

When I have configured push rules at a group level, I want a single action that applies those rules to all existing projects, so that my entire namespace is brought into compliance with these push rules without me having to manually update every single subgroup and project.

User experience goal

Cameron or Sidney no longer has to dig into projects to understand which ones have differing push rules and manually update those settings to match their parent group.

Proposal

Add an API endpoint to the Group Push Rules API that allows a group owner to recursively inherit the push rules down into each subgroup and project.

Further details

Use Case: Groups may be discovering their workflows, resulting in many, frequent changes to settings such as push rules. This requires manual updates to each project or building custom tooling to automate this process.

Permissions and Security

Documentation

Availability & Testing

What does success look like, and how can we measure that?

We can measure this by reaching out to customers and asking how this feature is helping or if it is lacking.

What is the type of buyer?

Is this a cross-stage feature?

Edited by Sam Kerr