diff options
author | Nejc Habjan <nejc.habjan@siemens.com> | 2022-04-26 22:39:03 +0200 |
---|---|---|
committer | Nejc Habjan <nejc.habjan@siemens.com> | 2022-04-27 00:17:51 +0200 |
commit | c4bfbb4bd9c89d1cee9fdd2db2caef35a6b041c9 (patch) | |
tree | 926b177e253d116f2c03e57f81c096483679c548 | |
parent | 2a4493cfecb1696b42ecc235b097f8ae4080bd27 (diff) | |
download | gitlab-c4bfbb4bd9c89d1cee9fdd2db2caef35a6b041c9.tar.gz |
refactor(merge_requests): collect payload arguments from custom action
-rw-r--r-- | gitlab/v4/objects/merge_requests.py | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/gitlab/v4/objects/merge_requests.py b/gitlab/v4/objects/merge_requests.py index edd7d01..b1c0029 100644 --- a/gitlab/v4/objects/merge_requests.py +++ b/gitlab/v4/objects/merge_requests.py @@ -355,13 +355,7 @@ class ProjectMergeRequest( ), ) @exc.on_http_error(exc.GitlabMRClosedError) - def merge( - self, - merge_commit_message: Optional[str] = None, - should_remove_source_branch: Optional[bool] = None, - merge_when_pipeline_succeeds: Optional[bool] = None, - **kwargs: Any, - ) -> Dict[str, Any]: + def merge(self, **kwargs: Any) -> Dict[str, Any]: """Accept the merge request. Args: @@ -377,15 +371,14 @@ class ProjectMergeRequest( GitlabMRClosedError: If the merge failed """ path = f"{self.manager.path}/{self.encoded_id}/merge" - data: Dict[str, Any] = {} - if merge_commit_message: - 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 is not None: - data["merge_when_pipeline_succeeds"] = merge_when_pipeline_succeeds - - server_data = self.manager.gitlab.http_put(path, post_data=data, **kwargs) + post_data: Dict[str, Any] = {} + data = kwargs.copy() + + for key in kwargs.keys(): + if key in self.merge._custom_args: + post_data[key] = data.pop(key) + + server_data = self.manager.gitlab.http_put(path, post_data=post_data, **data) if TYPE_CHECKING: assert isinstance(server_data, dict) self._update_attrs(server_data) |