diff --git a/gitlab/v4/objects/merge_requests.py b/gitlab/v4/objects/merge_requests.py index 11c962b11..0e81de105 100644 --- a/gitlab/v4/objects/merge_requests.py +++ b/gitlab/v4/objects/merge_requests.py @@ -358,8 +358,8 @@ def merge_ref(self, **kwargs: Any) -> Union[Dict[str, Any], requests.Response]: def merge( self, merge_commit_message: Optional[str] = None, - should_remove_source_branch: bool = False, - merge_when_pipeline_succeeds: bool = False, + should_remove_source_branch: Optional[bool] = None, + merge_when_pipeline_succeeds: Optional[bool] = None, **kwargs: Any, ) -> Dict[str, Any]: """Accept the merge request. @@ -382,8 +382,8 @@ def merge( data["merge_commit_message"] = merge_commit_message if should_remove_source_branch is not None: data["should_remove_source_branch"] = should_remove_source_branch - if merge_when_pipeline_succeeds: - data["merge_when_pipeline_succeeds"] = True + if merge_when_pipeline_succeeds is not None: + data["merge_when_pipeline_succeeds"] = merge_when_pipeline_succeeds server_data = self.manager.gitlab.http_put(path, post_data=data, **kwargs) if TYPE_CHECKING: diff --git a/tests/functional/api/test_merge_requests.py b/tests/functional/api/test_merge_requests.py index f92e30dfa..74d0b41a1 100644 --- a/tests/functional/api/test_merge_requests.py +++ b/tests/functional/api/test_merge_requests.py @@ -170,7 +170,9 @@ def test_merge_request_large_commit_message( merge_commit_message = "large_message\r\n" * 1_000 assert len(merge_commit_message) > 10_000 - mr.merge(merge_commit_message=merge_commit_message) + mr.merge( + merge_commit_message=merge_commit_message, should_remove_source_branch=False + ) result = wait_for_sidekiq(timeout=60) assert result is True, "sidekiq process should have terminated but did not"