Skip to content

Add external approvals rules to project settings

Jiaan Louw requested to merge 300973-add-external-approvals-to-projects into master

What does this MR do?

This MR adds external approvals to the project approval settings. This is part 2 of the MRs for #300973 (closed):

  1. Adds a new external approval type in project settings !57158 (merged)
  2. Add a type selector input to the add approval modal <- You are here 👈

What this MR changes:

  1. Adds a new external approval tule type
  2. Updates the approval rules to display approval gates
  3. Adds a Approver Type dropdown to the Add approval rule modal
  4. Updates the approval rule form with a create & edit for external approval rules
  5. Updates the delete modal to also display for external approval rules
  6. Adds feature specs in merge_requests_settings_spec.rb
  7. Refactors feature spec to use let_it_be

Setup & Testing

  1. Enable the development feature flag: echo "Feature.enable(:ff_compliance_approval_gates)" | rails c
  2. View Merge request approvals at [GDK_HOST]/gitlab-org/gitlab-shell/edit

Video walkthrough

Kapture_2021-04-09_at_12.08.25

Screenshots (strongly suggested)

Approvals list

Before After
image image

Approver form (Approver Type)

Before After (User or Group) After (Approval Gate)
image image image

Edit approver form

User or Group Approval Gate
image image

Delete modal

User or Group Approval Gate
image image

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 #300973 (closed)

Edited by Jiaan Louw

Merge request reports