External MR Approval API to accept callbacks from Approval Services
Why are we doing this work
Once #267511 (closed) and #267517 (closed) are complete, the external approval service needs a way to communicate to a GitLab MR that an MR has been approved by the external service.
Relevant links
Implementation plan
- [-] Extend the functionality of the POST /projects/:id/merge_requests/:merge_request_iid/approve
endpoint to allow approvals from external services.
-
Create a new API endpoint POST /projects/:id/merge_requests/:merge_request_iid/external_approve
endpoint to allow approvals from external services.- This is no longer planned to be coupled to merge request approvals.
-
Add new parameter to the endpoint external_approval_rule_id
used to determine which approval rule we're approving via. -
Require authentication by API token; specifically encourage users to use project access tokens (PATs). -
Ensure everything is in place to allow frontend to interface with new approvals.
Edited by Dan Jensen