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 | 10 |
1 files changed, 8 insertions, 2 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 83499524a8e..dd93ca4708e 100644 --- a/app/services/ci/external_pull_requests/create_pipeline_service.rb +++ b/app/services/ci/external_pull_requests/create_pipeline_service.rb @@ -16,8 +16,14 @@ module Ci private def create_pipeline_for(pull_request) - Ci::CreatePipelineService.new(project, current_user, create_params(pull_request)) - .execute(:external_pull_request_event, external_pull_request: pull_request) + if ::Feature.enabled?(:ci_create_external_pr_pipeline_async, project, default_enabled: :yaml) + Ci::ExternalPullRequests::CreatePipelineWorker.perform_async( + project.id, current_user.id, pull_request.id + ) + else + Ci::CreatePipelineService.new(project, current_user, create_params(pull_request)) + .execute(:external_pull_request_event, external_pull_request: pull_request) + end end def create_params(pull_request) |