Module: Legion::Extensions::Jira::Projects::Runners::Projects
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/jira/projects/runners/projects.rb
Instance Method Summary
collapse
-
#create_project(key:, name:, project_type_key:, lead_account_id:, description: nil) ⇒ Object
-
#delete_project(project_key:) ⇒ Object
-
#get_project(project_key:, expand: nil) ⇒ Object
-
#get_project_statuses(project_key:) ⇒ Object
-
#list_projects(expand: nil) ⇒ Object
-
#search_projects(query: nil, start_at: 0, max_results: 50) ⇒ Object
-
#update_project(project_key:, name: nil, description: nil, lead_account_id: nil) ⇒ Object
#connection, #upload_connection
Instance Method Details
#create_project(key:, name:, project_type_key:, lead_account_id:, description: nil) ⇒ Object
27
28
29
30
31
32
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 27
def create_project(key:, name:, project_type_key:, lead_account_id:, description: nil, **)
body = { key: key, name: name, projectTypeKey: project_type_key, leadAccountId: lead_account_id }
body[:description] = description if description
resp = connection(**).post('/rest/api/3/project', body)
{ project: resp.body }
end
|
#delete_project(project_key:) ⇒ Object
43
44
45
46
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 43
def delete_project(project_key:, **)
resp = connection(**).delete("/rest/api/3/project/#{project_key}")
{ deleted: resp.status == 204, project_key: project_key }
end
|
#get_project(project_key:, expand: nil) ⇒ Object
20
21
22
23
24
25
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 20
def get_project(project_key:, expand: nil, **)
params = {}
params[:expand] = expand if expand
resp = connection(**).get("/rest/api/3/project/#{project_key}", params)
{ project: resp.body }
end
|
#get_project_statuses(project_key:) ⇒ Object
55
56
57
58
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 55
def get_project_statuses(project_key:, **)
resp = connection(**).get("/rest/api/3/project/#{project_key}/statuses")
{ statuses: resp.body }
end
|
#list_projects(expand: nil) ⇒ Object
13
14
15
16
17
18
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 13
def list_projects(expand: nil, **)
params = {}
params[:expand] = expand if expand
resp = connection(**).get('/rest/api/3/project', params)
{ projects: resp.body }
end
|
#search_projects(query: nil, start_at: 0, max_results: 50) ⇒ Object
48
49
50
51
52
53
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 48
def search_projects(query: nil, start_at: 0, max_results: 50, **)
params = { startAt: start_at, maxResults: max_results }
params[:query] = query if query
resp = connection(**).get('/rest/api/3/project/search', params)
{ projects: resp.body }
end
|
#update_project(project_key:, name: nil, description: nil, lead_account_id: nil) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/legion/extensions/jira/projects/runners/projects.rb', line 34
def update_project(project_key:, name: nil, description: nil, lead_account_id: nil, **)
body = {}
body[:name] = name if name
body[:description] = description if description
body[:leadAccountId] = lead_account_id if lead_account_id
resp = connection(**).put("/rest/api/3/project/#{project_key}", body)
{ project: resp.body }
end
|