Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit85a734f

Browse files
nejchJohnVillalovos
authored andcommitted
feat(merge_request_approvals): add support for deleting MR approval rules
1 parent0eb4f7f commit85a734f

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

‎docs/gl_objects/merge_request_approvals.rst‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,14 @@ List MR-level MR approval rules::
7575

7676
mr.approval_rules.list()
7777

78+
Delete MR-level MR approval rule::
79+
80+
rules = mr.approval_rules.list()
81+
rules[0].delete()
82+
83+
# or
84+
mr.approval_rules.delete(approval_id)
85+
7886
Change MR-level MR approval rule::
7987

8088
mr_approvalrule.user_ids = [105]

‎gitlab/v4/objects/merge_request_approvals.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ def set_approvers(
163163
returnapproval_rules.create(data=data)
164164

165165

166-
classProjectMergeRequestApprovalRule(SaveMixin,RESTObject):
166+
classProjectMergeRequestApprovalRule(SaveMixin,ObjectDeleteMixin,RESTObject):
167167
_id_attr="approval_rule_id"
168168
_short_print_attr="approval_rule"
169169
id:int
@@ -192,7 +192,7 @@ def save(self, **kwargs: Any) -> None:
192192

193193

194194
classProjectMergeRequestApprovalRuleManager(
195-
ListMixin,UpdateMixin,CreateMixin,RESTManager
195+
ListMixin,UpdateMixin,CreateMixin,DeleteMixin,RESTManager
196196
):
197197
_path="/projects/{project_id}/merge_requests/{mr_iid}/approval_rules"
198198
_obj_cls=ProjectMergeRequestApprovalRule

‎tests/unit/objects/test_project_merge_request_approvals.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,19 @@ def resp_mr_approval_rules():
139139
yieldrsps
140140

141141

142+
@pytest.fixture
143+
defresp_delete_mr_approval_rule(no_content):
144+
withresponses.RequestsMock()asrsps:
145+
rsps.add(
146+
method=responses.DELETE,
147+
url="http://localhost/api/v4/projects/1/merge_requests/1/approval_rules/1",
148+
json=no_content,
149+
content_type="application/json",
150+
status=204,
151+
)
152+
yieldrsps
153+
154+
142155
deftest_project_approval_manager_update_uses_post(project):
143156
"""Ensure the
144157
gitlab.v4.objects.merge_request_approvals.ProjectApprovalManager object has
@@ -157,6 +170,11 @@ def test_list_merge_request_approval_rules(project, resp_mr_approval_rules):
157170
assertapproval_rules[0].id==approval_rule_id
158171

159172

173+
deftest_delete_merge_request_approval_rule(project,resp_delete_mr_approval_rule):
174+
merge_request=project.mergerequests.get(1,lazy=True)
175+
merge_request.approval_rules.delete(approval_rule_id)
176+
177+
160178
deftest_update_merge_request_approvals_set_approvers(project,resp_mr_approval_rules):
161179
approvals=project.mergerequests.get(1,lazy=True).approvals
162180
assertisinstance(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp