Add the ability to retry API-based approval rules on a merge request

Problem to solve

As part of adding API based approval rules #219567 (closed) we'll need to support the API approvals erroneously failing for external reasons #219567 (comment 407748401). Adding a retry button would allow users to manually retry their API-based approval rule and could assist in debugging.

Proposal

Add a Retry button to the approval gates in a Merge request

Failing check Retrying Passed
Merge_Request__Expand_-Failure_with_retry Merge_Request__Expand_-Retry Merge_Request__Expand_-Passed

Links / References

📺 API Approval Rule setup walkthrough

Figma

Similar issues

In #233478 (closed) we'll be adding the ability to test API based approval rules, the implementations for both are likely to share some logic.

Edited by Jiaan Louw