module Gitlab::Client::Labels

Defines methods related to labels. @see docs.gitlab.com/ce/api/labels.html

Public Instance Methods

create_label(project, name, color) click to toggle source

Creates a new label.

@example

Gitlab.create_label(42, "Backlog", '#DD10AA')

@param [Integer] project The ID of a project. @option [String] name The name of a label. @option [String] color The color of a label. @return [Gitlab::ObjectifiedHash] Information about created label.

# File lib/gitlab/client/labels.rb, line 25
def create_label(project, name, color)
  post("/projects/#{project}/labels", body: { name: name, color: color })
end
delete_label(project, name) click to toggle source

Deletes a label.

@example

Gitlab.delete_label(2, 'Backlog')

@param [Integer] project The ID of a project. @param [String] name The name of a label. @return [Gitlab::ObjectifiedHash] Information about deleted label.

# File lib/gitlab/client/labels.rb, line 53
def delete_label(project, name)
  delete("/projects/#{project}/labels", body: { name: name })
end
edit_label(project, name, options={}) click to toggle source

Updates a label.

@example

Gitlab.edit_label(42, "Backlog", { new_name: 'TODO' })
Gitlab.edit_label(42, "Backlog", { new_name: 'TODO', color: '#DD10AA' })

@param [Integer] project The ID of a project. @param [String] name The name of a label. @param [Hash] options A customizable set of options. @option options [String] :new_name The new name of a label. @option options [String] :color The color of a label. @return [Gitlab::ObjectifiedHash] Information about updated label.

# File lib/gitlab/client/labels.rb, line 41
def edit_label(project, name, options={})
  put("/projects/#{project}/labels", body: options.merge(name: name))
end
labels(project) click to toggle source

Gets a list of project's labels.

@example

Gitlab.labels(5)

@param [Integer] project The ID of a project. @return [Array<Gitlab::ObjectifiedHash>]

# File lib/gitlab/client/labels.rb, line 12
def labels(project)
  get("/projects/#{project}/labels")
end