Skip to content

basic API and UI for MR Disapproval button

Carlos Yu requested to merge carlosy1/gitlab:disapproval-button into master

What does this MR do and why?

This commit implements a new "disapproval" feature on top of the current "approval" feature in merge requests. It was first brought up in #761 (closed), and the current design is to have a "disapprove" button next to the approve button (so that eligible reviewers/approvers are also eligible to disapprove). A disapproved merge request (MR with at least one disapproval) will have its merging button disabled until all the disapprovals are removed. The backend API for "disapproval" is essentially the same as "approval". Due to time constraints, the disapprovals do not interact with approvals in the backend, and the "blocking merge" functionality is only implemented on frontend.

All features exclusive to EE (i.e. approval rules) should not be affected. Email notification service (that notifies the MR's author of disapprovals) is not implemented yet.

Screenshots or screen recordings

Screen_Shot_2022-08-25_at_11.18.01_AM Screen_Shot_2022-08-25_at_11.19.14_AM

How to set up and validate locally

The commit is developed using GDK default settings.

Merge request reports