in report/download_artifacts.rb [59:97]
def download_json_spec
json_filename = CURRENT_PATH.join('tmp/artifacts.json')
Dir.mkdir(CURRENT_PATH.join('tmp'), 0700) unless File.directory?(CURRENT_PATH.join('tmp'))
json_url = "https://artifacts-api.elastic.co/v1/versions/#{version}"
download_file!(json_url, json_filename)
begin
artifacts = JSON.parse(File.read(json_filename))
rescue StandardError => e
STDERR.puts "[!] Couldn't read JSON file #{json_filename}"
exit 1
end
build_hash_artifact = artifacts['version']['builds'].first
zip_url = build_hash_artifact.dig('projects', 'elasticsearch', 'packages').select { |k, _| k =~ /rest-resources-zip/ }.map { |_, v| v['url'] }.first
build_hash_artifact.dig('projects', 'elasticsearch', 'packages').select { |k, _| k =~ /rest-resources-zip/ }.map { |_, v| v['url'] }.first
filename = CURRENT_PATH.join("tmp/#{zip_url.split('/').last}")
download_file!(zip_url, filename)
spec = CURRENT_PATH.join('tmp/rest-api-spec')
FileUtils.remove_dir(spec) if File.directory?(spec)
puts "Unzipping file #{filename}"
`unzip -o
`rm
puts "Artifacts downloaded in ./tmp, build hash #{@build_hash}"
File.write(CURRENT_PATH.join('tmp/rest-api-spec/build_hash'), @build_hash)
end