fluent-plugin-redmine 0.6.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/fluent-plugin-redmine.gemspec +2 -2
- data/lib/fluent/plugin/out_redmine.rb +15 -20
- data/test/helper.rb +5 -21
- data/test/plugin/test_out_redmine.rb +6 -7
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81811a6cf328c34cf36502e0fd6fdf9dabe81dba
|
4
|
+
data.tar.gz: 7b91b3e6f40bac9d4e87cf5bb68e6a82069e69d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a837b3521dca8933dbaa97bc279f82978a061a9686afd00160cc9bad4c1fc3350b33216c94515957e505f652c755d93b7d37a412856801a77a54f09bc88a43fb
|
7
|
+
data.tar.gz: dc7bd64a75d82b492a103c258a5b8e47c8def9276eba2a7becd15bd7e80c067012af32ca58bfaf3057099fdafaf086c93ceaceb466a738cfcd97dba60656da95
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "fluent-plugin-redmine"
|
7
|
-
spec.version = "0.
|
7
|
+
spec.version = "0.7.0"
|
8
8
|
spec.authors = ["Takuma kanari"]
|
9
9
|
spec.email = ["chemtrails.t@gmail.com"]
|
10
10
|
spec.summary = %q{Fluentd output plugin to create ticket in redmine}
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_runtime_dependency "fluentd", [">= 0.
|
20
|
+
spec.add_runtime_dependency "fluentd", [">= 0.14", "< 2"]
|
21
21
|
spec.add_development_dependency "rake"
|
22
22
|
spec.add_development_dependency "bundler"
|
23
23
|
spec.add_development_dependency "test-unit"
|
@@ -1,6 +1,9 @@
|
|
1
|
-
|
1
|
+
require "json"
|
2
|
+
require "net/http"
|
2
3
|
|
3
|
-
|
4
|
+
module Fluent::Plugin
|
5
|
+
|
6
|
+
class RedmineOutput < Fluent::Plugin::Output
|
4
7
|
Fluent::Plugin.register_output('redmine', self)
|
5
8
|
|
6
9
|
desc "Redmine url"
|
@@ -45,21 +48,15 @@ module Fluent
|
|
45
48
|
desc "Key name in the record for Redmine custom fields"
|
46
49
|
config_param :custom_fields_key, :string, default: nil
|
47
50
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
+
config_section :buffer do
|
52
|
+
config_set_default :@type, :memory
|
53
|
+
config_set_default :chunk_keys, ["tag"]
|
51
54
|
end
|
52
55
|
|
53
56
|
def configure(conf)
|
54
57
|
super
|
55
58
|
|
56
|
-
@use_ssl =
|
57
|
-
|
58
|
-
if @use_ssl
|
59
|
-
require "net/https"
|
60
|
-
else
|
61
|
-
require "net/http"
|
62
|
-
end
|
59
|
+
@use_ssl = @url.start_with?("https:")
|
63
60
|
|
64
61
|
@subject_expander = TemplateExpander.new(@subject)
|
65
62
|
@description_expander = TemplateExpander.new(@description)
|
@@ -71,12 +68,9 @@ module Fluent
|
|
71
68
|
}
|
72
69
|
end
|
73
70
|
|
74
|
-
def format(tag, time, record)
|
75
|
-
[tag, time, record].to_msgpack
|
76
|
-
end
|
77
|
-
|
78
71
|
def write(chunk)
|
79
|
-
chunk.
|
72
|
+
tag = chunk.metadata.tag
|
73
|
+
chunk.each do |_time, record|
|
80
74
|
subject = @subject_expander.bind(make_record(tag, record))
|
81
75
|
desc = @description_expander.bind(make_record(tag, record))
|
82
76
|
begin
|
@@ -91,7 +85,7 @@ module Fluent
|
|
91
85
|
def submit_ticket(subject, desc, record)
|
92
86
|
request = Net::HTTP::Post.new(
|
93
87
|
@redmine_uri.request_uri,
|
94
|
-
|
88
|
+
@redmine_request_header
|
95
89
|
)
|
96
90
|
request.body = JSON.generate(make_payload(subject, desc, record))
|
97
91
|
|
@@ -107,7 +101,7 @@ module Fluent
|
|
107
101
|
client.start do |http|
|
108
102
|
res = http.request(request)
|
109
103
|
unless res.code.to_i == 201
|
110
|
-
raise
|
104
|
+
raise Error, "Error: #{res.code}, #{res.body}"
|
111
105
|
end
|
112
106
|
return res.body
|
113
107
|
end
|
@@ -162,6 +156,7 @@ module Fluent
|
|
162
156
|
end
|
163
157
|
end
|
164
158
|
|
159
|
+
class Error < StandardError
|
160
|
+
end
|
165
161
|
end
|
166
|
-
|
167
162
|
end
|
data/test/helper.rb
CHANGED
@@ -1,28 +1,12 @@
|
|
1
|
-
require
|
2
|
-
require 'bundler'
|
3
|
-
begin
|
4
|
-
Bundler.setup(:default, :development)
|
5
|
-
rescue Bundler::BundlerError => e
|
6
|
-
$stderr.puts e.message
|
7
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
-
exit e.status_code
|
9
|
-
end
|
1
|
+
require "bundler/setup"
|
10
2
|
require 'test/unit'
|
11
3
|
|
12
4
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
13
5
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
14
6
|
require 'fluent/test'
|
15
|
-
|
16
|
-
|
17
|
-
nulllogger.instance_eval {|obj|
|
18
|
-
def method_missing(method, *args)
|
19
|
-
# pass
|
20
|
-
end
|
21
|
-
}
|
22
|
-
$log = nulllogger
|
23
|
-
end
|
24
|
-
|
7
|
+
require 'fluent/test/helpers'
|
8
|
+
require 'fluent/test/driver/output'
|
25
9
|
require 'fluent/plugin/out_redmine'
|
26
10
|
|
27
|
-
|
28
|
-
|
11
|
+
Test::Unit::TestCase.include(Fluent::Test::Helpers)
|
12
|
+
Test::Unit::TestCase.extend(Fluent::Test::Helpers)
|
@@ -121,7 +121,7 @@ class RedmineOutputTest < Test::Unit::TestCase
|
|
121
121
|
|
122
122
|
cv = ConditionVariable.new
|
123
123
|
|
124
|
-
|
124
|
+
Thread.new {
|
125
125
|
connected = false
|
126
126
|
while not connected
|
127
127
|
begin
|
@@ -148,8 +148,8 @@ class RedmineOutputTest < Test::Unit::TestCase
|
|
148
148
|
@dummy_redmine.join
|
149
149
|
end
|
150
150
|
|
151
|
-
def create_driver(conf=CONFIG_OUT_KEYS
|
152
|
-
Fluent::Test::
|
151
|
+
def create_driver(conf=CONFIG_OUT_KEYS)
|
152
|
+
Fluent::Test::Driver::Output.new(Fluent::Plugin::RedmineOutput).configure(conf)
|
153
153
|
end
|
154
154
|
|
155
155
|
def test_configure_http
|
@@ -277,16 +277,15 @@ CONFIG
|
|
277
277
|
assert_false ret[:issue].key?(:custom_fields)
|
278
278
|
end
|
279
279
|
|
280
|
-
def
|
280
|
+
def test_feed
|
281
281
|
d = create_driver(CONFIG_TO_FORMAT)
|
282
282
|
record = {
|
283
283
|
"name" => "John",
|
284
284
|
"age" => 25,
|
285
285
|
"message" => "this is message!"
|
286
286
|
}
|
287
|
-
|
288
|
-
|
289
|
-
d.emit(record, t.to_i)
|
287
|
+
d.run(default_tag: "test") do
|
288
|
+
d.feed(record)
|
290
289
|
end
|
291
290
|
|
292
291
|
assert_equal @tickets.size, 1
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fluent-plugin-redmine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takuma kanari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.14'
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: '2'
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '0.
|
29
|
+
version: '0.14'
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '2'
|