11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/canalizador/jira_utils.rb', line 11
def self.fetch_jira_issues(branch, version)
Canalizador::Utils.validate_environment_variables(
'JIRA_URL',
'JIRA_PROJECT_SLUG',
'JIRA_USERNAME',
'JIRA_PASSWORD'
)
url = if branch == 'develop'
URI.parse("#{ENV['JIRA_URL']}/rest/api/3/search?jql=project=#{ENV['JIRA_PROJECT_SLUG']} AND status='Ready for Feature Testing'&fields=issuetype,summary")
else
URI.parse("#{ENV['JIRA_URL']}/rest/api/3/search?jql=project=#{ENV['JIRA_PROJECT_SLUG']} AND fixVersion='#{version}'&fields=issuetype,summary")
end
request = Net::HTTP::Get.new(url.request_uri)
request.basic_auth(ENV['JIRA_USERNAME'], ENV['JIRA_PASSWORD'])
response = Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
http.request(request)
end
if response.code == '200'
json_response = JSON.parse(response.body)
issues = json_response['issues']
issues.map do |issue|
issue_code = issue['key']
issue_type = issue['fields']['issuetype']['name']
issue_name = issue['fields']['summary']
"- [#{issue_type}]#{issue_code} - #{issue_name}"
end
else
puts "Request failed with HTTP status code #{response.code}"
[]
end
end
|