|
20 | 20 | import java.util.Arrays;
|
21 | 21 | import java.util.Date;
|
22 | 22 | import java.util.List;
|
| 23 | +import java.util.Collection; |
23 | 24 |
|
24 | 25 | import static org.gitlab.api.http.Method.*;
|
25 | 26 |
|
@@ -142,6 +143,10 @@ public GitlabHTTPRequestor dispatch() {
|
142 | 143 | return new GitlabHTTPRequestor(this).authenticate(apiToken, tokenType, authMethod).method(POST);
|
143 | 144 | }
|
144 | 145 |
|
| 146 | + public GitlabHTTPRequestor put() { |
| 147 | + return new GitlabHTTPRequestor(this).authenticate(apiToken, tokenType, authMethod).method(PUT); |
| 148 | + } |
| 149 | + |
145 | 150 | public boolean isIgnoreCertificateErrors() {
|
146 | 151 | return ignoreCertificateErrors;
|
147 | 152 | }
|
@@ -1477,6 +1482,36 @@ public GitlabMergeRequestApprovals getMergeRequestApprovals(GitlabMergeRequest m
|
1477 | 1482 | return retrieve().to(tailUrl, GitlabMergeRequestApprovals.class);
|
1478 | 1483 | }
|
1479 | 1484 |
|
| 1485 | + /** |
| 1486 | + * Set the number of required approvers. |
| 1487 | + * |
| 1488 | + * EE only. |
| 1489 | + */ |
| 1490 | + public GitlabMergeRequestApprovals setMergeRequestApprovals(GitlabMergeRequest mr, int count) throws IOException { |
| 1491 | + String tailUrl = GitlabProject.URL + "/" + sanitizeProjectId(mr.getProjectId()) + |
| 1492 | + GitlabMergeRequest.URL + "/" + mr.getIid() + GitlabMergeRequestApprovals.URL; |
| 1493 | + return dispatch() |
| 1494 | + .with("approvals_required", count) |
| 1495 | + .to(tailUrl, GitlabMergeRequestApprovals.class); |
| 1496 | + } |
| 1497 | + |
| 1498 | + /** |
| 1499 | + * Set the list of approvers. Important: Approvers and groups not |
| 1500 | + * in the request will be removed |
| 1501 | + * |
| 1502 | + * EE only. |
| 1503 | + */ |
| 1504 | + public GitlabMergeRequestApprovals setMergeRequestApprovers(GitlabMergeRequest mr, |
| 1505 | + Collection<Integer> userApproverIds, |
| 1506 | + Collection<Integer> groupApproverIds) throws IOException { |
| 1507 | + String tailUrl = GitlabProject.URL + "/" + sanitizeProjectId(mr.getProjectId()) + |
| 1508 | + GitlabMergeRequest.URL + "/" + mr.getIid() + GitlabMergeRequestApprovals.APPROVERS_URL; |
| 1509 | + return put() |
| 1510 | + .with("approver_ids", userApproverIds) |
| 1511 | + .with("approver_group_ids", groupApproverIds) |
| 1512 | + .to(tailUrl, GitlabMergeRequestApprovals.class); |
| 1513 | + } |
| 1514 | + |
1480 | 1515 | /**
|
1481 | 1516 | * Cherry picks a commit.
|
1482 | 1517 | *
|
|
0 commit comments