Module: Sonarqube::Client::Groups

Included in:
Sonarqube::Client
Defined in:
lib/sonarqube/client/groups.rb

Overview

Defines methods related to groups.

Instance Method Summary collapse

Instance Method Details

#add_member(id = nil, login = nil, options = {}) ⇒ Sonarqube::ObjectifiedHash Also known as: member_add

Add a user to a group.

Examples:

Sonarqube.add_member('AXQRcKrW9pRiZzanEJ2E', 'test-user')
Sonarqube.add_member('AXQRcKrW9pRiZzanEJ2E', 'test-user', {name: 'sonar-groups'})

Parameters:

  • id (String) (defaults to: nil)

    (required) The id of group.

  • login (String) (defaults to: nil)

    (required) The login of user.

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

    A customizable set of options.

Options Hash (options):

  • :name (String)

    Optional name of group.

Returns:

Raises:

  • (ArgumentError)


81
82
83
84
85
# File 'lib/sonarqube/client/groups.rb', line 81

def add_member(id = nil,  = nil, options = {})
  raise ArgumentError, 'Missing required parameters' if id.nil? && .nil?

  post('/api/user_groups/add_user', body: { id: id, login:  }.merge!(options))
end

#create_group(name, options = {}) ⇒ Sonarqube::ObjectifiedHash Also known as: group_create

Creates a new group.

Examples:

Sonarqube.create_group('new-group')
Sonarqube.create_group('sonarqube', { description: 'New Sonarqube project' })

Parameters:

  • name (String)

    (required) The name of a group.

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

    A customizable set of options.

Options Hash (options):

  • :description (String)

    Description for the new group. A group description cannot be larger than 200 characters.

Returns:



36
37
38
39
# File 'lib/sonarqube/client/groups.rb', line 36

def create_group(name, options = {})
  body = { name: name }.merge(options)
  post('/api/user_groups/create', body: body)
end

#delete_group(name) ⇒ Sonarqube::ObjectifiedHash Also known as: group_delete

Delete’s a group.

Examples:

Sonarqube.delete_group('projecto')

Parameters:

  • name (String)

    (required) The name of a group

Returns:



49
50
51
# File 'lib/sonarqube/client/groups.rb', line 49

def delete_group(name)
  post('/api/user_groups/delete', body: { name: name })
end

#list_members(options = {}) ⇒ Sonarqube::ObjectifiedHash Also known as: members_list

List members of group.

Examples:

Sonarqube.list_members({id: 'AXQRcKrW9pRiZzanEJ2E'})
Sonarqube.list_members({name: 'sonar-groups'})

Parameters:

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

    A customizable set of options.

Options Hash (options):

  • :name (String) — default: required

    Name of group.

  • :id (String) — default: required

    Id of group.

Returns:

Raises:

  • (ArgumentError)


116
117
118
119
120
# File 'lib/sonarqube/client/groups.rb', line 116

def list_members(options = {})
  raise ArgumentError, 'Missing required parameters' if options[:id].nil? && options[:name].nil?

  get('/api/user_groups/users', query: options)
end

#remove_member(id = nil, login = nil, options = {}) ⇒ Sonarqube::ObjectifiedHash Also known as: member_remove

Remove a user to a group.

Examples:

Sonarqube.remove_member('AXQRcKrW9pRiZzanEJ2E', 'test-user')
Sonarqube.remove_member('AXQRcKrW9pRiZzanEJ2E', 'test-user', {name: 'sonar-groups'})

Parameters:

  • id (String) (defaults to: nil)

    (required) The id of group.

  • login (String) (defaults to: nil)

    (required) The login of user.

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

    A customizable set of options.

Options Hash (options):

  • :name (String)

    Optional name of group.

Returns:

Raises:

  • (ArgumentError)


99
100
101
102
103
# File 'lib/sonarqube/client/groups.rb', line 99

def remove_member(id = nil,  = nil, options = {})
  raise ArgumentError, 'Missing required parameters' if id.nil? && .nil?

  post('/api/user_groups/remove_user', body: { id: id, login:  }.merge!(options))
end

#search_groups(options = {}) ⇒ Array<Sonarqube::ObjectifiedHash> Also known as: groups_search

Search for user groups.

(Any provided options will be passed to Sonarqube. See https://SONAR_URL/web_api/api/user_groups/search

Examples:

Sonarqube.groups_search
Sonarqube.groups_search({ ps: 3, p: 2 })
Sonarqube.groups_search({ ps: 3, p: 2 , q: sonar-users})

Parameters:

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

    A customizable set of options.

Options Hash (options):

  • :f (String)

    Comma-separated list of the fields to be returned in response. All the fields are returned by default.

  • :ps (Integer)

    Page size number of projects to return per page

  • :p (Integer)

    The page to retrieve

  • :q (String)

    Limit search to names that contain the supplied string.

Returns:



21
22
23
# File 'lib/sonarqube/client/groups.rb', line 21

def search_groups(options = {})
  get('/api/user_groups/search', query: options)
end

#update_group(id, options = {}) ⇒ Array<Sonarqube::ObjectifiedHash> Also known as: group_update

Update group.

Examples:

Sonarqube.group_members('AXQRcKrW9pRiZzanEJ2E')
Sonarqube.group_members('AXQRcKrW9pRiZzanEJ2E, { description: 'update group description })

Parameters:

  • id (String)

    (required) The ID of a group.

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

    A customizable set of options.

Options Hash (options):

  • :description (String)

    New optional description for the group. A group description cannot be larger than 200 characters. If value is not defined, then description is not changed.

  • :name (String)

    New optional name for the group. A group name cannot be larger than 255 characters and must be unique. Value ‘anyone’ (whatever the case) is reserved and cannot be used. If value is empty or not defined, then name is not changed.

Returns:



65
66
67
# File 'lib/sonarqube/client/groups.rb', line 65

def update_group(id, options = {})
  post('/api/user_groups/update', body: { id: id }.merge!(options))
end