Loading docs/gl_objects/mrs.rst +4 −0 Original line number Diff line number Diff line Loading @@ -181,3 +181,7 @@ Reset spent time for a merge request:: Get user agent detail for the issue (admin only):: detail = issue.user_agent_detail() Attempt to rebase an MR:: mr.rebase() gitlab/exceptions.py +4 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,10 @@ class GitlabMRApprovalError(GitlabOperationError): pass class GitlabMRRebaseError(GitlabOperationError): pass class GitlabMRClosedError(GitlabOperationError): pass Loading gitlab/v4/objects.py +16 −0 Original line number Diff line number Diff line Loading @@ -2712,6 +2712,22 @@ class ProjectMergeRequest( server_data = self.manager.gitlab.http_post(path, post_data=data, **kwargs) self._update_attrs(server_data) @cli.register_custom_action("ProjectMergeRequest") @exc.on_http_error(exc.GitlabMRRebaseError) def rebase(self, **kwargs): """Attempt to rebase the source branch onto the target branch Args: **kwargs: Extra options to send to the server (e.g. sudo) Raises: GitlabAuthenticationError: If authentication is not correct GitlabMRRebaseError: If rebasing failed """ path = "%s/%s/rebase" % (self.manager.path, self.get_id()) data = {} return self.manager.gitlab.http_put(path, post_data=data, **kwargs) @cli.register_custom_action( "ProjectMergeRequest", tuple(), Loading tools/python_test_v4.py +3 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,9 @@ assert events event = mr.resourcelabelevents.get(events[0].id) assert event # rebasing assert mr.rebase() # basic testing: only make sure that the methods exist mr.commits() mr.changes() Loading Loading
docs/gl_objects/mrs.rst +4 −0 Original line number Diff line number Diff line Loading @@ -181,3 +181,7 @@ Reset spent time for a merge request:: Get user agent detail for the issue (admin only):: detail = issue.user_agent_detail() Attempt to rebase an MR:: mr.rebase()
gitlab/exceptions.py +4 −0 Original line number Diff line number Diff line Loading @@ -173,6 +173,10 @@ class GitlabMRApprovalError(GitlabOperationError): pass class GitlabMRRebaseError(GitlabOperationError): pass class GitlabMRClosedError(GitlabOperationError): pass Loading
gitlab/v4/objects.py +16 −0 Original line number Diff line number Diff line Loading @@ -2712,6 +2712,22 @@ class ProjectMergeRequest( server_data = self.manager.gitlab.http_post(path, post_data=data, **kwargs) self._update_attrs(server_data) @cli.register_custom_action("ProjectMergeRequest") @exc.on_http_error(exc.GitlabMRRebaseError) def rebase(self, **kwargs): """Attempt to rebase the source branch onto the target branch Args: **kwargs: Extra options to send to the server (e.g. sudo) Raises: GitlabAuthenticationError: If authentication is not correct GitlabMRRebaseError: If rebasing failed """ path = "%s/%s/rebase" % (self.manager.path, self.get_id()) data = {} return self.manager.gitlab.http_put(path, post_data=data, **kwargs) @cli.register_custom_action( "ProjectMergeRequest", tuple(), Loading
tools/python_test_v4.py +3 −0 Original line number Diff line number Diff line Loading @@ -686,6 +686,9 @@ assert events event = mr.resourcelabelevents.get(events[0].id) assert event # rebasing assert mr.rebase() # basic testing: only make sure that the methods exist mr.commits() mr.changes() Loading