Skip to content

Commit 99d27fe

Browse files
chore: remove set_approvals() method
The `set_approvals()` method used the `/projects/:id/approvers` end point. That end point was removed from GitLab in the 13.11 release, on 2-Apr-2021 in commit 27dc2f2fe81249bbdc25f7bd8fe799752aac05e6 via merge commit e482597a8cf1bae8e27abd6774b684fb90491835 See merge request: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/57473
1 parent dd04e8e commit 99d27fe

File tree

3 files changed

+0
-84
lines changed

3 files changed

+0
-84
lines changed

docs/gl_objects/merge_request_approvals.rst

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,9 @@ Change project-level or MR-level MR approvals settings::
5858
p_mras.approvals_before_merge = 2
5959
p_mras.save()
6060

61-
mr.approvals.set_approvers(approvals_required=1)
62-
# or
6361
mr_mras.approvals_required = 1
6462
mr_mras.save()
6563

66-
Change project-level MR allowed approvers::
67-
68-
project.approvals.set_approvers(approver_ids=[105],
69-
approver_group_ids=[653, 654])
70-
71-
Create a new MR-level approval rule or change an existing MR-level approval rule::
72-
73-
mr.approvals.set_approvers(approvals_required = 1, approver_ids=[105],
74-
approver_group_ids=[653, 654],
75-
approval_rule_name="my MR custom approval rule")
76-
7764
List MR-level MR approval rules::
7865

7966
mr.approval_rules.list()

gitlab/v4/objects/merge_request_approvals.py

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -50,38 +50,6 @@ class ProjectApprovalManager(GetWithoutIdMixin, UpdateMixin, RESTManager):
5050
def get(self, **kwargs: Any) -> ProjectApproval:
5151
return cast(ProjectApproval, super().get(**kwargs))
5252

53-
@exc.on_http_error(exc.GitlabUpdateError)
54-
def set_approvers(
55-
self,
56-
approver_ids: Optional[List[int]] = None,
57-
approver_group_ids: Optional[List[int]] = None,
58-
**kwargs: Any,
59-
) -> Dict[str, Any]:
60-
"""Change project-level allowed approvers and approver groups.
61-
62-
Args:
63-
approver_ids: User IDs that can approve MRs
64-
approver_group_ids: Group IDs whose members can approve MRs
65-
66-
Raises:
67-
GitlabAuthenticationError: If authentication is not correct
68-
GitlabUpdateError: If the server failed to perform the request
69-
70-
Returns:
71-
A dict value of the result
72-
"""
73-
approver_ids = approver_ids or []
74-
approver_group_ids = approver_group_ids or []
75-
76-
if TYPE_CHECKING:
77-
assert self._parent is not None
78-
path = f"/projects/{self._parent.encoded_id}/approvers"
79-
data = {"approver_ids": approver_ids, "approver_group_ids": approver_group_ids}
80-
result = self.gitlab.http_put(path, post_data=data, **kwargs)
81-
if TYPE_CHECKING:
82-
assert isinstance(result, dict)
83-
return result
84-
8553

8654
class ProjectApprovalRule(SaveMixin, ObjectDeleteMixin, RESTObject):
8755
_id_attr = "id"

tests/unit/objects/test_project_merge_request_approvals.py

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -183,45 +183,6 @@ def test_delete_merge_request_approval_rule(project, resp_delete_mr_approval_rul
183183
merge_request.approval_rules.delete(approval_rule_id)
184184

185185

186-
def test_update_merge_request_approvals_set_approvers(project, resp_mr_approval_rules):
187-
approvals = project.mergerequests.get(1, lazy=True).approvals
188-
assert isinstance(
189-
approvals,
190-
gitlab.v4.objects.merge_request_approvals.ProjectMergeRequestApprovalManager,
191-
)
192-
assert approvals._update_uses_post is True
193-
response = approvals.set_approvers(
194-
updated_approval_rule_approvals_required,
195-
approver_ids=updated_approval_rule_user_ids,
196-
approver_group_ids=group_ids,
197-
approval_rule_name=approval_rule_name,
198-
)
199-
200-
assert response.approvals_required == updated_approval_rule_approvals_required
201-
assert len(response.eligible_approvers) == len(updated_approval_rule_user_ids)
202-
assert response.eligible_approvers[0]["id"] == updated_approval_rule_user_ids[0]
203-
assert response.name == approval_rule_name
204-
205-
206-
def test_create_merge_request_approvals_set_approvers(project, resp_mr_approval_rules):
207-
approvals = project.mergerequests.get(1, lazy=True).approvals
208-
assert isinstance(
209-
approvals,
210-
gitlab.v4.objects.merge_request_approvals.ProjectMergeRequestApprovalManager,
211-
)
212-
assert approvals._update_uses_post is True
213-
response = approvals.set_approvers(
214-
new_approval_rule_approvals_required,
215-
approver_ids=new_approval_rule_user_ids,
216-
approver_group_ids=group_ids,
217-
approval_rule_name=new_approval_rule_name,
218-
)
219-
assert response.approvals_required == new_approval_rule_approvals_required
220-
assert len(response.eligible_approvers) == len(new_approval_rule_user_ids)
221-
assert response.eligible_approvers[0]["id"] == new_approval_rule_user_ids[0]
222-
assert response.name == new_approval_rule_name
223-
224-
225186
def test_create_merge_request_approval_rule(project, resp_mr_approval_rules):
226187
approval_rules = project.mergerequests.get(1, lazy=True).approval_rules
227188
data = {

0 commit comments

Comments
 (0)