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 | ... | ... |