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