Skip to content

Public API endpoint for getting approval state of merge request with multiple approval rules

Problem to solve

API user can't check the approval state of each approval rule.

Intended Users

Developers

Further details

We have an existing private API endpoint (GET /projects/:id/merge_requests/:merge_request_iid/approval_settings) which returns the approval state of merge request for each approval rule. This is being used by the web UI but no equivalent on the API.

Proposal

As discussed in https://gitlab.com/gitlab-org/gitlab-ee/issues/12055#note_205671665, we should make the existing private API endpoint mentioned above public and change its path to /approval_state to be more explicit and consistent with the naming in our code (ApprovalState model).

Also rename the approvers property in the response as eligible_approvers.

Permissions and Security

Permissions of the API should be consistent with interface permissions of the user performing the operation.

Documentation

Update the Approvals API documentation

Edited by Patrick Bajao