Module: Legion::Extensions::Jira::Projects::Runners::Versions
- Includes:
- Helpers::Lex, Helpers::Client
- Included in:
- Client
- Defined in:
- lib/legion/extensions/jira/projects/runners/versions.rb
Instance Method Summary
collapse
-
#create_version(project_id:, name:, description: nil, released: nil, start_date: nil, release_date: nil) ⇒ Object
-
#delete_version(version_id:, move_fixed_issues_to: nil, move_affected_issues_to: nil) ⇒ Object
-
#get_version(version_id:) ⇒ Object
-
#list_project_versions(project_key:) ⇒ Object
-
#merge_versions(version_id:, move_issues_to:) ⇒ Object
-
#move_version(version_id:, position: nil, after: nil) ⇒ Object
-
#update_version(version_id:, name: nil, description: nil, released: nil) ⇒ Object
#connection, #upload_connection
Instance Method Details
#create_version(project_id:, name:, description: nil, released: nil, start_date: nil, release_date: nil) ⇒ Object
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 23
def create_version(project_id:, name:, description: nil, released: nil, start_date: nil,
release_date: nil, **)
body = { projectId: project_id, name: name }
body[:description] = description if description
body[:released] = released unless released.nil?
body[:startDate] = start_date if start_date
body[:releaseDate] = release_date if release_date
resp = connection(**).post('/rest/api/3/version', body)
{ version: resp.body }
end
|
#delete_version(version_id:, move_fixed_issues_to: nil, move_affected_issues_to: nil) ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 43
def delete_version(version_id:, move_fixed_issues_to: nil, move_affected_issues_to: nil, **)
params = {}
params[:moveFixIssuesTo] = move_fixed_issues_to if move_fixed_issues_to
params[:moveAffectedIssuesTo] = move_affected_issues_to if move_affected_issues_to
resp = connection(**).delete("/rest/api/3/version/#{version_id}") do |req|
req.params = params
end
{ deleted: resp.status == 204, version_id: version_id }
end
|
#get_version(version_id:) ⇒ Object
18
19
20
21
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 18
def get_version(version_id:, **)
resp = connection(**).get("/rest/api/3/version/#{version_id}")
{ version: resp.body }
end
|
#list_project_versions(project_key:) ⇒ Object
13
14
15
16
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 13
def list_project_versions(project_key:, **)
resp = connection(**).get("/rest/api/3/project/#{project_key}/versions")
{ versions: resp.body }
end
|
#merge_versions(version_id:, move_issues_to:) ⇒ Object
53
54
55
56
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 53
def merge_versions(version_id:, move_issues_to:, **)
resp = connection(**).put("/rest/api/3/version/#{version_id}/mergeto/#{move_issues_to}")
{ merged: resp.status == 204, version_id: version_id }
end
|
#move_version(version_id:, position: nil, after: nil) ⇒ Object
58
59
60
61
62
63
64
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 58
def move_version(version_id:, position: nil, after: nil, **)
body = {}
body[:position] = position if position
body[:after] = after if after
resp = connection(**).post("/rest/api/3/version/#{version_id}/move", body)
{ version: resp.body }
end
|
#update_version(version_id:, name: nil, description: nil, released: nil) ⇒ Object
34
35
36
37
38
39
40
41
|
# File 'lib/legion/extensions/jira/projects/runners/versions.rb', line 34
def update_version(version_id:, name: nil, description: nil, released: nil, **)
body = {}
body[:name] = name if name
body[:description] = description if description
body[:released] = released unless released.nil?
resp = connection(**).put("/rest/api/3/version/#{version_id}", body)
{ version: resp.body }
end
|