module Gitlab::Client::PipelineTriggers

Defines methods related to pipelines. @see docs.gitlab.com/ce/api/pipeline_triggers.html @see docs.gitlab.com/ce/ci/triggers/README.html

Public Instance Methods

create_trigger(project, description) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 39
def create_trigger(project, description)
  post("/projects/#{url_encode project}/triggers", body: { description: description })
end
delete_trigger(project, trigger_id)
Alias for: remove_trigger
remove_trigger(project, trigger_id) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 77
def remove_trigger(project, trigger_id)
  delete("/projects/#{url_encode project}/triggers/#{trigger_id}")
end
Also aliased as: delete_trigger
run_trigger(project, token, ref, variables = {}) click to toggle source

Run the given project pipeline trigger.

@example

Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master')
Gitlab.run_trigger(5, '7b9148c158980bbd9bcea92c17522d', 'master', { variable1: "value", variable2: "value2" })

@see 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.

# File lib/gitlab/client/pipeline_triggers.rb, line 95
def run_trigger(project, token, ref, variables = {})
  post("/projects/#{url_encode project}/trigger/pipeline", unauthenticated: true, body: {
         token: token,
         ref: ref,
         variables: variables
       })
end
trigger(project, trigger_id) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 27
def trigger(project, trigger_id)
  get("/projects/#{url_encode project}/triggers/#{trigger_id}")
end
trigger_take_ownership(project, trigger_id) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 65
def trigger_take_ownership(project, trigger_id)
  post("/projects/#{url_encode project}/triggers/#{trigger_id}/take_ownership")
end
triggers(project) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 15
def triggers(project)
  get("/projects/#{url_encode project}/triggers")
end
update_trigger(project, trigger_id, options = {}) click to toggle source

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.

# File lib/gitlab/client/pipeline_triggers.rb, line 53
def update_trigger(project, trigger_id, options = {})
  put("/projects/#{url_encode project}/triggers/#{trigger_id}", body: options)
end