From 909e924f9668bf4a7343d3e2ea7fd63748be4b91 Mon Sep 17 00:00:00 2001 From: Patrick Bajao Date: Fri, 30 Aug 2019 14:29:02 +0800 Subject: Doc: Add info about MR approval state public API --- doc/api/merge_request_approvals.md | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) (limited to 'doc/api') diff --git a/doc/api/merge_request_approvals.md b/doc/api/merge_request_approvals.md index b73fe38f53e..e8368330912 100644 --- a/doc/api/merge_request_approvals.md +++ b/doc/api/merge_request_approvals.md @@ -525,6 +525,77 @@ PUT /projects/:id/merge_requests/:merge_request_iid/approvers } ``` +### Get approval state of merge request + +>**Note:** This API endpoint is only available on 12.3 Starter and above. + +You can request information about a merge request's approval state using the following endpoint: + +``` +GET /projects/:id/merge_requests/:merge_request_iid/approval_state +``` + +The `approval_rules_overwritten` will be `true` if the merge request level rules +are created for the merge request. If there's none, it'll be `false`. + +This includes additional information about the users who already approved +(`approved_by`) and if a rule is already approved (`approved`). + +**Parameters:** + +| Attribute | Type | Required | Description | +|----------------------|---------|----------|---------------------| +| `id` | integer | yes | The ID of a project | +| `merge_request_iid` | integer | yes | The IID of MR | + +```json +{ + "approval_rules_overwritten": true, + "rules": [ + { + "id": 1, + "name": "Ruby", + "rule_type": "regular", + "eligible_approvers": [ + { + "id": 4, + "name": "John Doe", + "username": "jdoe", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/jdoe" + } + ], + "approvals_required": 2, + "users": [ + { + "id": 4, + "name": "John Doe", + "username": "jdoe", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/jdoe" + } + ], + "groups": [], + "contains_hidden_groups": false, + "approved_by": [ + { + "id": 4, + "name": "John Doe", + "username": "jdoe", + "state": "active", + "avatar_url": "https://www.gravatar.com/avatar/0?s=80&d=identicon", + "web_url": "http://localhost/jdoe" + } + ], + "source_rule": null, + "approved": true + } + ] +} +``` + ### Get merge request level rules >**Note:** This API endpoint is only available on 12.3 Starter and above. -- cgit v1.2.3