diff options
Diffstat (limited to 'lib/api/triggers.rb')
-rw-r--r-- | lib/api/triggers.rb | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/lib/api/triggers.rb b/lib/api/triggers.rb index 8fc7c7361e1..6754fc13ec1 100644 --- a/lib/api/triggers.rb +++ b/lib/api/triggers.rb @@ -5,24 +5,24 @@ module API include PaginationParams params do - requires :id, type: String, desc: 'The ID of a project' + requires :id, type: String, desc: "The ID of a project" end resource :projects, requirements: API::NAMESPACE_OR_PROJECT_REQUIREMENTS do - desc 'Trigger a GitLab project pipeline' do + desc "Trigger a GitLab project pipeline" do success Entities::Pipeline end params do - requires :ref, type: String, desc: 'The commit sha or name of a branch or tag', allow_blank: false - requires :token, type: String, desc: 'The unique token of trigger' - optional :variables, type: Hash, desc: 'The list of variables to be injected into build' + requires :ref, type: String, desc: "The commit sha or name of a branch or tag", allow_blank: false + requires :token, type: String, desc: "The unique token of trigger" + optional :variables, type: Hash, desc: "The list of variables to be injected into build" end - post ":id/(ref/:ref/)trigger/pipeline", requirements: { ref: /.+/ } do - Gitlab::QueryLimiting.whitelist('https://gitlab.com/gitlab-org/gitlab-ce/issues/42283') + post ":id/(ref/:ref/)trigger/pipeline", requirements: {ref: /.+/} do + Gitlab::QueryLimiting.whitelist("https://gitlab.com/gitlab-org/gitlab-ce/issues/42283") # validate variables params[:variables] = params[:variables].to_h unless params[:variables].all? { |key, value| key.is_a?(String) && value.is_a?(String) } - render_api_error!('variables needs to be a map of key-valued strings', 400) + render_api_error!("variables needs to be a map of key-valued strings", 400) end project = find_project(params[:id]) @@ -38,14 +38,14 @@ module API end end - desc 'Get triggers list' do + desc "Get triggers list" do success Entities::Trigger end params do use :pagination end # rubocop: disable CodeReuse/ActiveRecord - get ':id/triggers' do + get ":id/triggers" do authenticate! authorize! :admin_build, user_project @@ -55,34 +55,35 @@ module API end # rubocop: enable CodeReuse/ActiveRecord - desc 'Get specific trigger of a project' do + desc "Get specific trigger of a project" do success Entities::Trigger end params do - requires :trigger_id, type: Integer, desc: 'The trigger ID' + requires :trigger_id, type: Integer, desc: "The trigger ID" end - get ':id/triggers/:trigger_id' do + get ":id/triggers/:trigger_id" do authenticate! authorize! :admin_build, user_project trigger = user_project.triggers.find(params.delete(:trigger_id)) - break not_found!('Trigger') unless trigger + break not_found!("Trigger") unless trigger present trigger, with: Entities::Trigger, current_user: current_user end - desc 'Create a trigger' do + desc "Create a trigger" do success Entities::Trigger end params do - requires :description, type: String, desc: 'The trigger description' + requires :description, type: String, desc: "The trigger description" end - post ':id/triggers' do + post ":id/triggers" do authenticate! authorize! :admin_build, user_project trigger = user_project.triggers.create( - declared_params(include_missing: false).merge(owner: current_user)) + declared_params(include_missing: false).merge(owner: current_user) + ) if trigger.valid? present trigger, with: Entities::Trigger, current_user: current_user @@ -91,19 +92,19 @@ module API end end - desc 'Update a trigger' do + desc "Update a trigger" do success Entities::Trigger end params do - requires :trigger_id, type: Integer, desc: 'The trigger ID' - optional :description, type: String, desc: 'The trigger description' + requires :trigger_id, type: Integer, desc: "The trigger ID" + optional :description, type: String, desc: "The trigger description" end - put ':id/triggers/:trigger_id' do + put ":id/triggers/:trigger_id" do authenticate! authorize! :admin_build, user_project trigger = user_project.triggers.find(params.delete(:trigger_id)) - break not_found!('Trigger') unless trigger + break not_found!("Trigger") unless trigger if trigger.update(declared_params(include_missing: false)) present trigger, with: Entities::Trigger, current_user: current_user @@ -112,18 +113,18 @@ module API end end - desc 'Take ownership of trigger' do + desc "Take ownership of trigger" do success Entities::Trigger end params do - requires :trigger_id, type: Integer, desc: 'The trigger ID' + requires :trigger_id, type: Integer, desc: "The trigger ID" end - post ':id/triggers/:trigger_id/take_ownership' do + post ":id/triggers/:trigger_id/take_ownership" do authenticate! authorize! :admin_build, user_project trigger = user_project.triggers.find(params.delete(:trigger_id)) - break not_found!('Trigger') unless trigger + break not_found!("Trigger") unless trigger if trigger.update(owner: current_user) status :ok @@ -133,18 +134,18 @@ module API end end - desc 'Delete a trigger' do + desc "Delete a trigger" do success Entities::Trigger end params do - requires :trigger_id, type: Integer, desc: 'The trigger ID' + requires :trigger_id, type: Integer, desc: "The trigger ID" end - delete ':id/triggers/:trigger_id' do + delete ":id/triggers/:trigger_id" do authenticate! authorize! :admin_build, user_project trigger = user_project.triggers.find(params.delete(:trigger_id)) - break not_found!('Trigger') unless trigger + break not_found!("Trigger") unless trigger destroy_conditionally!(trigger) end |