Skip to content

Restrict group level approval settings to top level group

What does this MR do?

Restrict group MR approval settings to root group

This commit restricts the permission to administer group merge request approval settings to root group. Sub groups (i.e. groups which have parent groups) will not be able to access this feature.

Recursive settings resolution of deeply nested group hierarchy is computation-extensive. For the MVP, we would like to mitigate this risk and re-evaluate this feature on nested group after collecting more user feedback.

Testing

  1. Enable the feature flag in rails console: Feature.enable(:group_merge_request_approval_settings_feature_flag)
  2. Navigate to the root group settings page Group > Settings > General
  3. Confirm that the Merge Request Approval section is visible
  4. Navigate to the subgroup group settings page Group > Settings > General
  5. Confirm that the Merge Request Approval section is not visible

Screenshots (strongly suggested)

Group merge request approval settings

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team

Related to #324037 (closed)

Edited by Tan Le

Merge request reports