summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZ.J. van de Weg <zegerjan@gitlab.com>2016-06-22 21:58:29 +0200
committerZ.J. van de Weg <zegerjan@gitlab.com>2016-06-23 09:50:00 +0200
commit14fdcc196bc0c151d9760161ceeb6b9f2b44211b (patch)
treef0388908ed194d1ed1c71e56af8ee4531712905f
parent93106e150d4810459d0fc82b8c552309db4431fc (diff)
downloadgitlab-ce-zj-pipeline-can-be-nil.tar.gz
Check if pipeline is nil before mergingzj-pipeline-can-be-nil
-rw-r--r--CHANGELOG3
-rw-r--r--app/controllers/projects/merge_requests_controller.rb9
2 files changed, 10 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 222563d355c..e7c22cc92d8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,8 @@
Please view this file on the master branch, on stable branches it's out of date.
+v 8.9.1 (unreleased)
+ - Fix in auto merge when pipeline is nil
+
v 8.9.0 (unreleased)
- Fix builds API response not including commit data
- Fix error when CI job variables key specified but not defined
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 851822d805a..b57caae68bb 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -204,8 +204,13 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@merge_request.update(merge_error: nil)
- if params[:merge_when_build_succeeds].present?
- if @merge_request.pipeline && @merge_request.pipeline.active?
+ if params[:merge_when_build_succeeds].present?
+ unless @merge_request.pipeline
+ @status = :failed
+ return
+ end
+
+ if @merge_request.pipeline.active?
MergeRequests::MergeWhenBuildSucceedsService.new(@project, current_user, merge_params)
.execute(@merge_request)
@status = :merge_when_build_succeeds