File tree Expand file tree Collapse file tree 3 files changed +24
-0
lines changed
Expand file tree Collapse file tree 3 files changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -181,3 +181,7 @@ Reset spent time for a merge request::
181181Get user agent detail for the issue (admin only)::
182182
183183 detail = issue.user_agent_detail()
184+
185+ Attempt to rebase an MR::
186+
187+ mr.rebase()
Original file line number Diff line number Diff line change @@ -173,6 +173,10 @@ class GitlabMRApprovalError(GitlabOperationError):
173173 pass
174174
175175
176+ class GitlabMRRebaseError (GitlabOperationError ):
177+ pass
178+
179+
176180class GitlabMRClosedError (GitlabOperationError ):
177181 pass
178182
Original file line number Diff line number Diff line change @@ -2712,6 +2712,22 @@ def unapprove(self, **kwargs):
27122712 server_data = self .manager .gitlab .http_post (path , post_data = data , ** kwargs )
27132713 self ._update_attrs (server_data )
27142714
2715+ @cli .register_custom_action ("ProjectMergeRequest" )
2716+ @exc .on_http_error (exc .GitlabMRRebaseError )
2717+ def rebase (self , ** kwargs ):
2718+ """Attempt to rebase the source branch onto the target branch
2719+
2720+ Args:
2721+ **kwargs: Extra options to send to the server (e.g. sudo)
2722+
2723+ Raises:
2724+ GitlabAuthenticationError: If authentication is not correct
2725+ GitlabMRRebaseError: If rebasing failed
2726+ """
2727+ path = "%s/%s/rebase" % (self .manager .path , self .get_id ())
2728+ data = {}
2729+ return self .manager .gitlab .http_put (path , post_data = data , ** kwargs )
2730+
27152731 @cli .register_custom_action (
27162732 "ProjectMergeRequest" ,
27172733 tuple (),
You can’t perform that action at this time.
0 commit comments