Merge Request branch rebasing from API
Description
I want to automate keeping some of my merge request branches up-to-date if they're approved & tests pass. However, I noticed that there is no way to rebase the branch from the api, nor is there a way to see if a branch is behind it's target branch.
Proposal
Add the api endpoint POST /projects/:id/merge_requests/:iid/rebase
, which will rebase the branch.
If there will be merge conflicts return 405 Method Not Allowed
(or alternatively 409 Conflict
Also add to the endpoint GET /projects/:id/merge_requests/:iid
the number of commits behind the branch is from it's target.
Possibly something like this:
{
...snip...
"commits_behind": 2
...snip...
}
Documentation blurb
Rebase Merge Request
This will rebase the merge request on top of it's target branch. If it cannot be rebased (in the event of conflicts for example), you will get a 405
and the message Cannot rebase due to conflicts
.
POST /projects/:id/merge_requests/:merge_request_iid/rebase
The commits_behind
can simply be added to the output of the GET .../merge_requests
endpoint.