class BuildkiteGraphqlRuby::Commands::PullArtifacts

Public Instance Methods

report_result(result:, options:) click to toggle source
# 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:) click to toggle source
# 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