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,22 +130,25 @@ module API | ||
| 130 | end | 130 | end |
| 131 | 131 | ||
| 132 | if can?(current_user, action, project) | 132 | if can?(current_user, action, project) |
| 133 | - # Check if MR can be merged by GitLab | ||
| 134 | if merge_request.unchecked? | 133 | if merge_request.unchecked? |
| 135 | merge_request.check_if_can_be_merged | 134 | merge_request.check_if_can_be_merged |
| 136 | end | 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 | else | 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 | end | 147 | end |
| 146 | - | ||
| 147 | else | 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 | end | 152 | end |
| 150 | end | 153 | end |
| 151 | 154 |