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 |