Skip to content

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