Class: Embulk::Input::Buildkite
- Inherits:
-
InputPlugin
- Object
- InputPlugin
- Embulk::Input::Buildkite
- Defined in:
- lib/embulk/input/buildkite.rb
Defined Under Namespace
Classes: Logger
Class Method Summary collapse
Instance Method Summary collapse
-
#init ⇒ Object
TODO def self.guess(config) sample_records = [ “column”=>1, “value”=>0.1, “column”=>2, “value”=>0.2, ] columns = Guess::SchemaGuess.from_hash_records(sample_records) return => columns end.
- #run ⇒ Object
Class Method Details
.resume(task, columns, count, &control) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/embulk/input/buildkite.rb', line 40 def self.resume(task, columns, count, &control) task_reports = yield(task, columns, count) next_config_diff = {} return next_config_diff end |
.transaction(config, &control) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/embulk/input/buildkite.rb', line 19 def self.transaction(config, &control) # configuration code: task = { "org_slug" => config.param("org_slug", :string), "pipeline_slug" => config.param("pipeline_slug", :string), "build_nums" => config.param("build_nums", :array), "token" => config.param("token", :string, nil), } columns = [ Column.new(0, "id", :long), Column.new(1, "data", :string), Column.new(2, "log", :string), Column.new(3, "started_at", :timestamp), Column.new(4, "build_number", :long), Column.new(5, "build_data", :string), ] resume(task, columns, 1, &control) end |
Instance Method Details
#init ⇒ Object
TODO def self.guess(config)
sample_records = [
{"example"=>"a", "column"=>1, "value"=>0.1},
{"example"=>"a", "column"=>2, "value"=>0.2},
]
columns = Guess::SchemaGuess.from_hash_records(sample_records)
return {"columns" => columns}
end
57 58 59 |
# File 'lib/embulk/input/buildkite.rb', line 57 def init # initialization code: end |
#run ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/embulk/input/buildkite.rb', line 61 def run task['build_nums'].each do |build_num| logger.info("Start build_num:[#{build_num}]") build = client.fetch_build(number: build_num) build[:jobs].each do |job| logger.info("Start Start job_id:[#{job[:id]}]") log = client.fetch_log(build_number: job[:build_number], job_id: job[:id])[:output] page_builder.add([ job[:id], job.to_json, log, job[:started_at], job[:build_number], build.to_json, ]) page_builder.flush end end page_builder.finish task_report = {} return task_report end |