Class: BuildkiteGraphqlRuby::Commands::PullArtifacts

Inherits:
Object
  • Object
show all
Defined in:
lib/buildkite_graphql_ruby/commands/pull_artifacts.rb

Instance Method Summary collapse

Instance Method Details

#report_result(result:, options:) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/buildkite_graphql_ruby/commands/pull_artifacts.rb', line 13

def report_result(result:, options:)
  build = ResultsParsers::Build.from_response(result['data']['build'])
  all_jobs = build.jobs
  all_artifacts = []
  all_jobs.each do |job|
    all_artifacts += job.artifacts.select{|a| a.path == options.artifact_to_pull}
  end

  all_artifacts.each_with_index do |artifact, index|
    filename = "tmp/#{index} #{options.output_artifact}"
    puts "Writing file: #{filename}"
    File.open(filename, 'w') { |f| f.write(artifact.download) }
  end
end

#run!(options:) ⇒ Object



8
9
10
11
# File 'lib/buildkite_graphql_ruby/commands/pull_artifacts.rb', line 8

def run!(options:)
  query = BuildkiteGraphqlRuby::QueryBuilder.new.artifacts_for_build_slug(slug: options.slug)
  query_runner = BuildkiteGraphqlRuby::QueryRunner.new.run_query(query: query, options: options)
end