diff options
Diffstat (limited to 'lib/api/v3')
-rw-r--r-- | lib/api/v3/entities.rb | 4 | ||||
-rw-r--r-- | lib/api/v3/triggers.rb | 12 |
2 files changed, 6 insertions, 10 deletions
diff --git a/lib/api/v3/entities.rb b/lib/api/v3/entities.rb index 9239c7fd168..3cc0dc968a8 100644 --- a/lib/api/v3/entities.rb +++ b/lib/api/v3/entities.rb @@ -11,10 +11,6 @@ module API Gitlab::UrlBuilder.build(snippet) end end - - class TriggerRequest < Grape::Entity - expose :id, :variables - end end end end diff --git a/lib/api/v3/triggers.rb b/lib/api/v3/triggers.rb index 8af182fdd2c..a7d669dfd4f 100644 --- a/lib/api/v3/triggers.rb +++ b/lib/api/v3/triggers.rb @@ -5,9 +5,7 @@ module API requires :id, type: String, desc: 'The ID of a project' end resource :projects do - desc 'Trigger a GitLab project build' do - success V3::Entities::TriggerRequest - end + desc 'Trigger a GitLab project build' params do requires :ref, type: String, desc: 'The commit sha or name of a branch or tag' requires :token, type: String, desc: 'The unique token of trigger' @@ -31,9 +29,11 @@ module API end # create request and trigger builds - trigger_request = Ci::CreateTriggerRequestService.new.execute(project, trigger, params[:ref].to_s, variables) - if trigger_request - present trigger_request, with: Entities::TriggerRequest + pipeline = Ci::CreatePipelineService.new(project, nil, ref: params[:ref].to_s). + execute(ignore_skip_ci: true, trigger: trigger, trigger_variables: variables) + if pipeline + data = { id: pipeline.trigger_id, variables: pipeline.trigger_variables } + present data else errors = 'No builds created' render_api_error!(errors, 400) |