class Fluent::BacklogOutput
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_backlog.rb, line 15 def initialize super require 'xmlrpc/client' end
Public Instance Methods
configure(conf)
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_backlog.rb, line 20 def configure(conf) super @server = XMLRPC::Client.new2("https://#{@user}:#{@password}@#{@space}.backlog.jp/XML-RPC") @summary_keys = @summary_keys.split(',') if @description_keys @description_keys = @description_keys.split(',') end end
format(tag, time, record)
click to toggle source
# File lib/fluent/plugin/out_backlog.rb, line 37 def format(tag, time, record) [tag, time, record].to_msgpack end
shutdown()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_backlog.rb, line 33 def shutdown super end
start()
click to toggle source
Calls superclass method
# File lib/fluent/plugin/out_backlog.rb, line 29 def start super end
write(chunk)
click to toggle source
# File lib/fluent/plugin/out_backlog.rb, line 41 def write(chunk) chunk.msgpack_each do |tag, time, record| summary = @summary_template % @summary_keys.map { |key| record[key] } args = { projectId: @project_id, summary: summary } args[:description] = create_description(record) args[:component] = @component if @component @server.call('backlog.createIssue', args) $log.info "backlog_plugin write [#{args[:summary]}]" end end
Private Instance Methods
create_description(record)
click to toggle source
# File lib/fluent/plugin/out_backlog.rb, line 54 def create_description(record) descriptions = @description_keys.map { |key| val = record[key].class == Array ? record[key].join("\n") : record[key] "#{key}:\n#{val}" } descriptions.join("\n\n") end