lib/gitlab/client/pipeline_triggers.rb in gitlab-4.5.0 vs lib/gitlab/client/pipeline_triggers.rb in gitlab-4.6.0

- old
+ new

@@ -1,101 +1,101 @@ -class Gitlab::Client - # Defines methods related to pipelines. - # @see https://docs.gitlab.com/ce/api/pipeline_triggers.html - # @see https://docs.gitlab.com/ce/ci/triggers/README.html - module PipelineTriggers - # Gets a list of the project's pipeline triggers - # - # @example - # Gitlab.triggers(5) - # - # @param [Integer, String] project The ID or name of a project. - # @return [Array<Gitlab::ObjectifiedHash>] The list of triggers. - def triggers(project) - get("/projects/#{url_encode project}/triggers") - end +# frozen_string_literal: true - # Gets details of project's pipeline trigger. - # - # @example - # Gitlab.trigger(5, 1) - # - # @param [Integer, String] project The ID or name of a project. - # @param [Integer] trigger_id The trigger ID. - # @return [Gitlab::ObjectifiedHash] The trigger. - def trigger(project, trigger_id) - get("/projects/#{url_encode project}/triggers/#{trigger_id}") - end +# Defines methods related to pipelines. +# @see https://docs.gitlab.com/ce/api/pipeline_triggers.html +# @see https://docs.gitlab.com/ce/ci/triggers/README.html +module PipelineTriggers + # Gets a list of the project's pipeline triggers + # + # @example + # Gitlab.triggers(5) + # + # @param [Integer, String] project The ID or name of a project. + # @return [Array<Gitlab::ObjectifiedHash>] The list of triggers. + def triggers(project) + get("/projects/#{url_encode project}/triggers") + end - # Create a pipeline trigger for a project. - # - # @example - # Gitlab.create_trigger(5, description: "my description") - # - # @param [Integer, String] project The ID or name of a project. - # @param [String] description The trigger name - # @return [Gitlab::ObjectifiedHash] The created trigger. - def create_trigger(project, description) - post("/projects/#{url_encode project}/triggers", body: {description: description}) - end + # Gets details of project's pipeline trigger. + # + # @example + # Gitlab.trigger(5, 1) + # + # @param [Integer, String] project The ID or name of a project. + # @param [Integer] trigger_id The trigger ID. + # @return [Gitlab::ObjectifiedHash] The trigger. + def trigger(project, trigger_id) + get("/projects/#{url_encode project}/triggers/#{trigger_id}") + end - # Update a project trigger - # - # @example - # Gitlab.update_trigger(5, 1, description: "my description") - # - # @param [Integer, String] project The ID or name of a project. - # @param [Integer] trigger_id The trigger ID. - # @param [Hash] options A customizable set of options. - # @option options [String] :description The trigger name. - # @return [Gitlab::ObjectifiedHash] The updated trigger. - def update_trigger(project, trigger_id, options={}) - put("/projects/#{url_encode project}/triggers/#{trigger_id}", body: options) - end + # Create a pipeline trigger for a project. + # + # @example + # Gitlab.create_trigger(5, description: "my description") + # + # @param [Integer, String] project The ID or name of a project. + # @param [String] description The trigger name + # @return [Gitlab::ObjectifiedHash] The created trigger. + def create_trigger(project, description) + post("/projects/#{url_encode project}/triggers", body: { description: description }) + end - # Take ownership of a project trigger - # - # @example - # Gitlab.trigger_take_ownership(5, 1) - # - # @param [Integer, String] project The ID or name of a project. - # @param [Integer] trigger_id The trigger ID. - # @return [Gitlab::ObjectifiedHash] The updated trigger. - def trigger_take_ownership(project, trigger_id) - post("/projects/#{url_encode project}/triggers/#{trigger_id}/take_ownership") - end + # Update a project trigger + # + # @example + # Gitlab.update_trigger(5, 1, description: "my description") + # + # @param [Integer, String] project The ID or name of a project. + # @param [Integer] trigger_id The trigger ID. + # @param [Hash] options A customizable set of options. + # @option options [String] :description The trigger name. + # @return [Gitlab::ObjectifiedHash] The updated trigger. + def update_trigger(project, trigger_id, options = {}) + put("/projects/#{url_encode project}/triggers/#{trigger_id}", body: options) + end - # Remove a project's pipeline trigger. - # - # @example - # Gitlab.remove_trigger(5, 1) - # - # @param [Integer, String] project The ID or name of a project. - # @param [Integer] trigger_id The trigger ID. - # @return [void] This API call returns an empty response body. - def remove_trigger(project, trigger_id) - delete("/projects/#{url_encode project}/triggers/#{trigger_id}") - end - alias_method :delete_trigger, :remove_trigger + # Take ownership of a project trigger + # + # @example + # Gitlab.trigger_take_ownership(5, 1) + # + # @param [Integer, String] project The ID or name of a project. + # @param [Integer] trigger_id The trigger ID. + # @return [Gitlab::ObjectifiedHash] The updated trigger. + def trigger_take_ownership(project, trigger_id) + post("/projects/#{url_encode project}/triggers/#{trigger_id}/take_ownership") + end - # Run the given project pipeline trigger. - # - # @example - # Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master') - # Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master', { variable1: "value", variable2: "value2" }) - # - # @see https://docs.gitlab.com/ce/ci/triggers/README.html - # - # @param [Integer, String] project The ID or name of the project. - # @param [String] token The token of a trigger. - # @param [String] ref Branch or tag name to build. - # @param [Hash] variables A set of build variables to use for the build. (optional) - # @return [Gitlab::ObjectifiedHash] The trigger. - def run_trigger(project, token, ref, variables={}) - post("/projects/#{url_encode project}/trigger/pipeline", unauthenticated: true, body: { - token: token, - ref: ref, - variables: variables - }) - end + # Remove a project's pipeline trigger. + # + # @example + # Gitlab.remove_trigger(5, 1) + # + # @param [Integer, String] project The ID or name of a project. + # @param [Integer] trigger_id The trigger ID. + # @return [void] This API call returns an empty response body. + def remove_trigger(project, trigger_id) + delete("/projects/#{url_encode project}/triggers/#{trigger_id}") + end + alias delete_trigger remove_trigger + + # Run the given project pipeline trigger. + # + # @example + # Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master') + # Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master', { variable1: "value", variable2: "value2" }) + # + # @see https://docs.gitlab.com/ce/ci/triggers/README.html + # + # @param [Integer, String] project The ID or name of the project. + # @param [String] token The token of a trigger. + # @param [String] ref Branch or tag name to build. + # @param [Hash] variables A set of build variables to use for the build. (optional) + # @return [Gitlab::ObjectifiedHash] The trigger. + def run_trigger(project, token, ref, variables = {}) + post("/projects/#{url_encode project}/trigger/pipeline", unauthenticated: true, body: { + token: token, + ref: ref, + variables: variables + }) end end