Add Remove all approvals in a merge request when new commits are pushed to its source branch to group level

Problem to solve

In pursuit of the holistic solution outlined in &4367, this issue is a smaller implementation issue to iteratively move elements of project-level merge request approval rules to the group-level.

Please see &4367 for the discovery and implementation discussion.

Intended users

User experience goal

A group owner can configure this setting - Remove all approvals in a merge request when new commits are pushed to its source branch - at the group level.

Proposal

This should be behind a feature flag.

Add the setting Remove all approvals in a merge request when new commits are pushed to its source branch to the group level.

Stretch Goal: Enabling this setting should inherit it down to all projects, but still allow maintainers to change this setting.

Implementation Plan

frontend - 1️⃣

  • Add Remove all approvals in a merge request when new commits are pushed to its source branch checkbox, which takes account of higher-level restrictions (instance or group when used on a project)
  • Add the ability to save this value via the store
  • Check that success and errors are being handled by the stores existing process
  • Add tests
Edited by Robert Hunt