Module: Legion::Extensions::Jira::Groups::Runners::Groups

Includes:
Helpers::Lex, Helpers::Client
Included in:
Client
Defined in:
lib/legion/extensions/jira/groups/runners/groups.rb

Instance Method Summary collapse

Methods included from Helpers::Client

#connection, #upload_connection

Instance Method Details

#add_user_to_group(account_id:, group_name: nil, group_id: nil) ⇒ Object



34
35
36
37
38
39
40
41
42
43
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 34

def add_user_to_group(account_id:, group_name: nil, group_id: nil, **)
  params = {}
  params[:groupname] = group_name if group_name
  params[:groupId] = group_id if group_id
  resp = connection(**).post('/rest/api/3/group/user') do |req|
    req.params = params
    req.body = { accountId:  }
  end
  { group: resp.body }
end

#bulk_get_groups(start_at: 0, max_results: 50) ⇒ Object



54
55
56
57
58
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 54

def bulk_get_groups(start_at: 0, max_results: 50, **)
  params = { startAt: start_at, maxResults: max_results }
  resp = connection(**).get('/rest/api/3/group/bulk', params)
  { groups: resp.body }
end

#create_group(name:) ⇒ Object



21
22
23
24
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 21

def create_group(name:, **)
  resp = connection(**).post('/rest/api/3/group', { name: name })
  { group: resp.body }
end

#delete_group(group_name: nil, group_id: nil) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 26

def delete_group(group_name: nil, group_id: nil, **)
  resp = connection(**).delete('/rest/api/3/group') do |req|
    req.params['groupname'] = group_name if group_name
    req.params['groupId'] = group_id if group_id
  end
  { deleted: [200, 204].include?(resp.status) }
end

#find_groups(query: nil, max_results: 50) ⇒ Object



60
61
62
63
64
65
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 60

def find_groups(query: nil, max_results: 50, **)
  params = { maxResults: max_results }
  params[:query] = query if query
  resp = connection(**).get('/rest/api/3/groups/picker', params)
  { groups: resp.body }
end

#get_group(group_name: nil, group_id: nil) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 13

def get_group(group_name: nil, group_id: nil, **)
  params = {}
  params[:groupname] = group_name if group_name
  params[:groupId] = group_id if group_id
  resp = connection(**).get('/rest/api/3/group', params)
  { group: resp.body }
end

#remove_user_from_group(account_id:, group_name: nil, group_id: nil) ⇒ Object



45
46
47
48
49
50
51
52
# File 'lib/legion/extensions/jira/groups/runners/groups.rb', line 45

def remove_user_from_group(account_id:, group_name: nil, group_id: nil, **)
  resp = connection(**).delete('/rest/api/3/group/user') do |req|
    req.params['groupname'] = group_name if group_name
    req.params['groupId'] = group_id if group_id
    req.params['accountId'] = 
  end
  { removed: [200, 204].include?(resp.status) }
end