Skip to content

Commit 1fa1e44

Browse files
committed
feat: add mr rebase method
Change-Id: Ibd55d59db32f34c97042a59a7c1978b6dac41439
1 parent ad1c0dd commit 1fa1e44

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

docs/gl_objects/mrs.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,7 @@ Reset spent time for a merge request::
181181
Get 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()

gitlab/exceptions.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ class GitlabMRApprovalError(GitlabOperationError):
173173
pass
174174

175175

176+
class GitlabMRRebaseError(GitlabOperationError):
177+
pass
178+
179+
176180
class GitlabMRClosedError(GitlabOperationError):
177181
pass
178182

gitlab/v4/objects.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff 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(),

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy