| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -48,13 +48,12 @@ Change project-level or MR-level MR approvals settings:: | |||
| 48 | 48 | p_mras.approvals_before_merge = 2 | |
| 49 | 49 | p_mras.save() | |
| 50 | 50 | ||
| 51 | - mr_mras.approvals_before_merge = 2 | ||
| 52 | - mr_mras.save() | ||
| 51 | + mr_mras.set_approvers(approvals_required = 1) | ||
| 53 | 52 | ||
| 54 | 53 | Change project-level or MR-level MR allowed approvers:: | |
| 55 | 54 | ||
| 56 | 55 | project.approvals.set_approvers(approver_ids=[105], | |
| 57 | 56 | approver_group_ids=[653, 654]) | |
| 58 | 57 | ||
| 59 | - mr.approvals.set_approvers(approver_ids=[105], | ||
| 58 | + mr.approvals.set_approvers(approvals_required = 1, approver_ids=[105], | ||
| 60 | 59 | approver_group_ids=[653, 654]) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2708,10 +2708,13 @@ class ProjectMergeRequestApprovalManager(GetWithoutIdMixin, UpdateMixin, RESTMan | |||
| 2708 | 2708 | _update_uses_post = True | |
| 2709 | 2709 | ||
| 2710 | 2710 | @exc.on_http_error(exc.GitlabUpdateError) | |
| 2711 | - def set_approvers(self, approver_ids=None, approver_group_ids=None, **kwargs): | ||
| 2711 | + def set_approvers( | ||
| 2712 | + self, approvals_required, approver_ids=None, approver_group_ids=None, **kwargs | ||
| 2713 | + ): | ||
| 2712 | 2714 | """Change MR-level allowed approvers and approver groups. | |
| 2713 | 2715 | ||
| 2714 | 2716 | Args: | |
| 2717 | + approvals_required (integer): The number of required approvals for this rule | ||
| 2715 | 2718 | approver_ids (list): User IDs that can approve MRs | |
| 2716 | 2719 | approver_group_ids (list): Group IDs whose members can approve MRs | |
| 2717 | 2720 | ||
@@ -2722,8 +2725,16 @@ def set_approvers(self, approver_ids=None, approver_group_ids=None, **kwargs): | |||
| 2722 | 2725 | approver_ids = approver_ids or [] | |
| 2723 | 2726 | approver_group_ids = approver_group_ids or [] | |
| 2724 | 2727 | ||
| 2725 | - path = "%s/%s/approvers" % (self._parent.manager.path, self._parent.get_id()) | ||
| 2726 | - data = {"approver_ids": approver_ids, "approver_group_ids": approver_group_ids} | ||
| 2728 | + path = "%s/%s/approval_rules" % ( | ||
| 2729 | + self._parent.manager.path, | ||
| 2730 | + self._parent.get_id(), | ||
| 2731 | + ) | ||
| 2732 | + data = { | ||
| 2733 | + "approvals_required": approvals_required, | ||
| 2734 | + "rule_type": "regular", | ||
| 2735 | + "user_ids": approver_ids, | ||
| 2736 | + "group_ids": approver_group_ids, | ||
| 2737 | + } | ||
| 2727 | 2738 | self.gitlab.http_put(path, post_data=data, **kwargs) | |
| 2728 | 2739 | ||
| 2729 | 2740 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -37,7 +37,7 @@ def end_log(): | |||
| 37 | 37 | approval.save() | |
| 38 | 38 | approval = project1.approvals.get() | |
| 39 | 39 | assert v != approval.reset_approvals_on_push | |
| 40 | - project1.approvals.set_approvers([1], []) | ||
| 40 | + project1.approvals.set_approvers(1, [1], []) | ||
| 41 | 41 | approval = project1.approvals.get() | |
| 42 | 42 | assert approval.approvers[0]["user"]["id"] == 1 | |
| 43 | 43 | ||
@@ -50,7 +50,7 @@ def end_log(): | |||
| 50 | 50 | approval.save() | |
| 51 | 51 | approval = mr.approvals.get() | |
| 52 | 52 | assert approval.approvals_required == 3 | |
| 53 | - mr.approvals.set_approvers([1], []) | ||
| 53 | + mr.approvals.set_approvers(1, [1], []) | ||
| 54 | 54 | approval = mr.approvals.get() | |
| 55 | 55 | assert approval.approvers[0]["user"]["id"] == 1 | |
| 56 | 56 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments