Module: Legion::Extensions::Jira::Projects::Runners::Roles
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/jira/projects/runners/roles.rb
Instance Method Summary
collapse
-
#add_role_actors(project_key:, role_id:, user_account_ids: [], group_names: []) ⇒ Object
-
#get_project_role(project_key:, role_id:) ⇒ Object
-
#list_project_roles(project_key:) ⇒ Object
-
#remove_role_actor(project_key:, role_id:, user: nil, group: nil) ⇒ Object
-
#set_role_actors(project_key:, role_id:, user_account_ids: [], group_names: []) ⇒ Object
#connection, #upload_connection
Instance Method Details
#add_role_actors(project_key:, role_id:, user_account_ids: [], group_names: []) ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/legion/extensions/jira/projects/runners/roles.rb', line 32
def add_role_actors(project_key:, role_id:, user_account_ids: [], group_names: [], **)
body = {}
body[:user] = user_account_ids unless user_account_ids.empty?
body[:group] = group_names unless group_names.empty?
resp = connection(**).post("/rest/api/3/project/#{project_key}/role/#{role_id}", body)
{ role: resp.body }
end
|
#get_project_role(project_key:, role_id:) ⇒ Object
18
19
20
21
|
# File 'lib/legion/extensions/jira/projects/runners/roles.rb', line 18
def get_project_role(project_key:, role_id:, **)
resp = connection(**).get("/rest/api/3/project/#{project_key}/role/#{role_id}")
{ role: resp.body }
end
|
#list_project_roles(project_key:) ⇒ Object
13
14
15
16
|
# File 'lib/legion/extensions/jira/projects/runners/roles.rb', line 13
def list_project_roles(project_key:, **)
resp = connection(**).get("/rest/api/3/project/#{project_key}/role")
{ roles: resp.body }
end
|
#remove_role_actor(project_key:, role_id:, user: nil, group: nil) ⇒ Object
40
41
42
43
44
45
46
|
# File 'lib/legion/extensions/jira/projects/runners/roles.rb', line 40
def remove_role_actor(project_key:, role_id:, user: nil, group: nil, **)
resp = connection(**).delete("/rest/api/3/project/#{project_key}/role/#{role_id}") do |req|
req.params['user'] = user if user
req.params['group'] = group if group
end
{ removed: resp.status == 204, project_key: project_key, role_id: role_id }
end
|
#set_role_actors(project_key:, role_id:, user_account_ids: [], group_names: []) ⇒ Object
23
24
25
26
27
28
29
30
|
# File 'lib/legion/extensions/jira/projects/runners/roles.rb', line 23
def set_role_actors(project_key:, role_id:, user_account_ids: [], group_names: [], **)
body = {}
body['atlassian-user-role-actor'] = user_account_ids unless user_account_ids.empty?
body['atlassian-group-role-actor'] = group_names unless group_names.empty?
resp = connection(**).put("/rest/api/3/project/#{project_key}/role/#{role_id}",
{ categorisedActors: body })
{ role: resp.body }
end
|