Commit 0c73e6664389ef5af352560c2fced1fbfc650a27
1 parent
fe6d3922
Exists in
spb-stable
and in
2 other branches
Specify error codes for merge api
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
1 changed file
with
12 additions
and
9 deletions
Show diff stats
lib/api/merge_requests.rb
| ... | ... | @@ -130,22 +130,25 @@ module API |
| 130 | 130 | end |
| 131 | 131 | |
| 132 | 132 | if can?(current_user, action, project) |
| 133 | - # Check if MR can be merged by GitLab | |
| 134 | 133 | if merge_request.unchecked? |
| 135 | 134 | merge_request.check_if_can_be_merged |
| 136 | 135 | end |
| 137 | 136 | |
| 138 | - if merge_request.open? && merge_request.can_be_merged? | |
| 139 | - merge_request.automerge!(current_user, params[:merge_commit_message] || merge_request.merge_commit_message) | |
| 140 | - | |
| 141 | - # return success | |
| 137 | + if merge_request.open? | |
| 138 | + if merge_request.can_be_merged? | |
| 139 | + merge_request.automerge!(current_user, params[:merge_commit_message] || merge_request.merge_commit_message) | |
| 140 | + else | |
| 141 | + render_api_error!('Branch cannot be merged', 405) | |
| 142 | + end | |
| 142 | 143 | else |
| 143 | - | |
| 144 | - # Checkif can be merged | |
| 144 | + # Merge request can not be merged | |
| 145 | + # because it is already closed/merged | |
| 146 | + not_allowed! | |
| 145 | 147 | end |
| 146 | - | |
| 147 | 148 | else |
| 148 | - # not allowed | |
| 149 | + # Merge request can not be merged | |
| 150 | + # because user dont have permissions to push into target branch | |
| 151 | + unauthorized! | |
| 149 | 152 | end |
| 150 | 153 | end |
| 151 | 154 | ... | ... |