Module: Gitlab::Client::Runners

Included in:
Gitlab::Client
Defined in:
lib/gitlab/client/runners.rb

Overview

Defines methods related to runners.

Instance Method Summary collapse

Instance Method Details

#all_runners(options = {}) ⇒ Array<Gitlab::ObjectifiedHash>

Get a list of all runners in the GitLab instance (specific and shared). Access is restricted to users with admin privileges.

Examples:

Gitlab.all_runners

Parameters:

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :scope (String)

    The scope of runners to show, one of: specific, shared, active, paused, online; showing all runners if none provided

Returns:

See Also:



30
31
32
# File 'lib/gitlab/client/runners.rb', line 30

def all_runners(options = {})
  get("/runners/all", query: options)
end

#delete_runner(id) ⇒ Gitlab::ObjectifiedHash

Remove a runner.

Examples:

Gitlab.delete_runner(42)

Parameters:

  • id (Integer, String)

    The ID of a runner

Returns:

See Also:



71
72
73
# File 'lib/gitlab/client/runners.rb', line 71

def delete_runner(id)
  delete("/runners/#{id}")
end

#project_disable_runner(id, runner_id) ⇒ Gitlab::ObjectifiedHash

Disable a specific runner from the project. It works only if the project isn't the only project associated with the specified runner.

Examples:

Gitlab.project_disable_runner(2, 42)

Parameters:

  • id (Integer, String)

    The ID or name of a project.

  • runner_id (Integer, String)

    The ID of a runner.

Returns:

See Also:



121
122
123
# File 'lib/gitlab/client/runners.rb', line 121

def project_disable_runner(id, runner_id)
  delete("/projects/#{url_encode id}/runners/#{runner_id}")
end

#project_enable_runner(project_id, id) ⇒ Gitlab::ObjectifiedHash

Enable an available specific runner in the project.

Examples:

Gitlab.project_enable_runner(2, 42)

Parameters:

  • id (Integer, String)

    The ID or name of a project.

  • id (Integer, String)

    The ID of a runner.

Returns:

See Also:



107
108
109
110
# File 'lib/gitlab/client/runners.rb', line 107

def project_enable_runner(project_id, id)
  body = { runner_id: id }
  post("/projects/#{url_encode project_id}/runners", body: body)
end

#project_runners(project_id) ⇒ Array<Gitlab::ObjectifiedHash>

List all runners (specific and shared) available in the project. Shared runners are listed if at least one shared runner is defined and shared runners usage is enabled in the project's settings.

Examples:

Gitlab.project_runners(42)

Parameters:

  • id (Integer, String)

    The ID or name of a project.

Returns:

See Also:



94
95
96
# File 'lib/gitlab/client/runners.rb', line 94

def project_runners(project_id)
  get("/projects/#{url_encode project_id}/runners")
end

#runner(id) ⇒ Gitlab::ObjectifiedHash

Get details of a runner..

Examples:

Gitlab.runner(42)

Parameters:

  • id (Integer, String)

    The ID of a runner

Returns:

See Also:



42
43
44
# File 'lib/gitlab/client/runners.rb', line 42

def runner(id)
  get("/runners/#{id}")
end

#runner_jobs(runner_id) ⇒ Array<Gitlab::ObjectifiedHash>

Gets a list of Jobs for a Runner

Examples:

Gitlab.runner_jobs(1)

Parameters:

  • id (Integer)

    The ID of a runner.

Returns:



82
83
84
# File 'lib/gitlab/client/runners.rb', line 82

def runner_jobs(runner_id)
  get("/runners/#{url_encode runner_id}/jobs")
end

#runners(options = {}) ⇒ Array<Gitlab::ObjectifiedHash>

Get a list of specific runners available to the user.

Examples:

Gitlab.runners
Gitlab.runners(:active)
Gitlab.runners(:paused)

Parameters:

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :scope (String)

    The scope of specific runners to show, one of: active, paused, online; showing all runners if none provided

Returns:

See Also:



17
18
19
# File 'lib/gitlab/client/runners.rb', line 17

def runners(options = {})
  get("/runners", query: options)
end

#update_runner(id, options = {}) ⇒ Gitlab::ObjectifiedHash

Update details of a runner.

Examples:

Gitlab.update_runner(42, { description: 'Awesome runner' })
Gitlab.update_runner(42, { active: false })
Gitlab.update_runner(42, { tag_list: [ 'awesome', 'runner' ] })

Parameters:

  • id (Integer, String)

    The ID of a runner

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :active (String)

    The state of a runner; can be set to true or false.

  • :tag_list (String)

    The list of tags for a runner; put array of tags, that should be finally assigned to a runner

Returns:

See Also:



59
60
61
# File 'lib/gitlab/client/runners.rb', line 59

def update_runner(id, options={})
  put("/runners/#{id}", query: options)
end