diff options
Diffstat (limited to 'app/services/ci/external_pull_requests/create_pipeline_service.rb')
-rw-r--r-- | app/services/ci/external_pull_requests/create_pipeline_service.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/app/services/ci/external_pull_requests/create_pipeline_service.rb b/app/services/ci/external_pull_requests/create_pipeline_service.rb index 78be94bfb41..83499524a8e 100644 --- a/app/services/ci/external_pull_requests/create_pipeline_service.rb +++ b/app/services/ci/external_pull_requests/create_pipeline_service.rb @@ -7,7 +7,8 @@ module Ci module ExternalPullRequests class CreatePipelineService < BaseService def execute(pull_request) - return unless pull_request.open? && pull_request.actual_branch_head? + return pull_request_not_open_error unless pull_request.open? + return pull_request_branch_error unless pull_request.actual_branch_head? create_pipeline_for(pull_request) end @@ -26,6 +27,14 @@ module Ci target_sha: pull_request.target_sha } end + + def pull_request_not_open_error + ServiceResponse.error(message: 'The pull request is not opened', payload: nil) + end + + def pull_request_branch_error + ServiceResponse.error(message: 'The source sha is not the head of the source branch', payload: nil) + end end end end |