diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-12-09 09:37:38 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-12-09 09:37:38 +0000 |
commit | 7e8dc22dd7fb730d3fc47150cdfe95dc9ffdbc3a (patch) | |
tree | 17fb42e05aaa61b59bb4e95d72c42831c6de540f /doc/api | |
parent | 291678d61358c141a7ba8cabf0e645408b52a8ea (diff) | |
parent | 903151141da36ed9b8c2333a9b66f5c611e4efb6 (diff) | |
download | gitlab-ce-7e8dc22dd7fb730d3fc47150cdfe95dc9ffdbc3a.tar.gz |
Merge branch 'merge-if-green' into 'master'
Merge when build succeeds
### What does this MR do?
Adds a button to a MR when the build/ci is running so it can be merged when/if the build is successfull.
### Are there points in the code the reviewer needs to double check?
English spelling and whether or not the grammer is correct.
### Why was this MR needed?
When you expect its all good, and don't want to revisit the current MR it can be accepted allready.
### What are the relevant issue numbers / Feature requests?
Fixes #2640 -- although `Merge if green` is replaced with `Merge when the build succeeds` the general idea is the same.
### Screenshots (if relevant)





### Further considerations
What if there are minor things needed solving, e.g. Rubocop, the current implementation will reset the approved status of the MR. It might be a consideration keep the approval for team member, or even guests. This would require an extra option in the Admin screen, though might add extra value.
#### TODO
- [x] Docs
- [x] Specs
/cc @DouweM @rspeicher
See merge request !1729
Diffstat (limited to 'doc/api')
-rw-r--r-- | doc/api/merge_requests.md | 54 |
1 files changed, 51 insertions, 3 deletions
diff --git a/doc/api/merge_requests.md b/doc/api/merge_requests.md index 82f2cef969f..366a1f8abec 100644 --- a/doc/api/merge_requests.md +++ b/doc/api/merge_requests.md @@ -335,9 +335,57 @@ PUT /projects/:id/merge_request/:merge_request_id/merge Parameters: -- `id` (required) - The ID of a project -- `merge_request_id` (required) - ID of MR -- `merge_commit_message` (optional) - Custom merge commit message +- `id` (required) - The ID of a project +- `merge_request_id` (required) - ID of MR +- `merge_commit_message` (optional) - Custom merge commit message +- `should_remove_source_branch` (optional) - if `true` removes the source branch +- `merged_when_build_succeeds` (optional) - if `true` the MR is merge when the build succeeds + +```json +{ + "id": 1, + "target_branch": "master", + "source_branch": "test1", + "project_id": 3, + "title": "test1", + "state": "merged", + "upvotes": 0, + "downvotes": 0, + "author": { + "id": 1, + "username": "admin", + "email": "admin@example.com", + "name": "Administrator", + "state": "active", + "created_at": "2012-04-29T08:46:00Z" + }, + "assignee": { + "id": 1, + "username": "admin", + "email": "admin@example.com", + "name": "Administrator", + "state": "active", + "created_at": "2012-04-29T08:46:00Z" + } +} +``` + +## Cancel Merge When Build Succeeds + +If successful you'll get `200 OK`. + +If you don't have permissions to accept this merge request - you'll get a 401 + +If the merge request is already merged or closed - you get 405 and error message 'Method Not Allowed' + +In case the merge request is not set to be merged when the build succeeds, you'll also get a 406 error. +``` +PUT /projects/:id/merge_request/:merge_request_id/cancel_merge_when_build_succeeds +``` +Parameters: + +- `id` (required) - The ID of a project +- `merge_request_id` (required) - ID of MR ```json { |