logstash-filter-mautic 0.1 → 0.2
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/DEVELOPER.md +6 -0
- data/lib/logstash/filters/mautic.rb +3 -0
- data/logstash-filter-mautic.gemspec +1 -1
- data/spec/filters/leads_spec.rb +54 -1
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cf52fc4555ba5c933b512bd7ce008879c510ee65
|
4
|
+
data.tar.gz: 061af245a1fd8efb0fa4f01b323715d4040c9d10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 875cfc7e091e2a3af3b3c38b2b4968e01303cab7b1a17bdd0f2553ecdacd02797e8cfa8f659619c60049a0cde5c081df1757db491d0805a6347d34a449433d96
|
7
|
+
data.tar.gz: 35c9b6aa5a8c1736131101fb78cfbc4d801b24fa8e26aa67e32e4c5fde922d81f3dba6662649a19377de879cbd72c8a644f74b966baa906eb36d1b5107e68c31
|
data/DEVELOPER.md
CHANGED
@@ -235,7 +235,10 @@ class LogStash::Filters::Mautic < LogStash::Filters::Base
|
|
235
235
|
def processNewUpdateLead(json_data,key)
|
236
236
|
parsed_data = newLeadFilter(json_data)
|
237
237
|
parsed_data['leadid'] = parsed_data['id'].to_i
|
238
|
+
parsed_data['emailAddress'] = parsed_data['email']
|
239
|
+
|
238
240
|
parsed_data.delete('id')
|
241
|
+
parsed_data.delete('email')
|
239
242
|
|
240
243
|
if parsed_data['dateIdentified'] != nil
|
241
244
|
parsed_data['dateIdentified'] = LogStash::Timestamp.parse_iso8601(parsed_data['dateIdentified'])
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-filter-mautic'
|
3
|
-
s.version = '0.
|
3
|
+
s.version = '0.2'
|
4
4
|
s.licenses = ['Apache License (2.0)']
|
5
5
|
s.summary = "Receives Mautic webhook data to view in Elasticsearch"
|
6
6
|
s.description = "This plugin lets you get the majority of you Mautic data into Elasticsearch for viewing using Kibana. Just setup a http input for logstash and a filter like so mautic { source => 'message'}. See the GitHub repository for more information"
|
data/spec/filters/leads_spec.rb
CHANGED
@@ -55,6 +55,8 @@ RUBY_ENGINE == "jruby" and describe LogStash::Filters::Mautic do
|
|
55
55
|
#insist { subject["points"] } == 25
|
56
56
|
expect(subject).to include('leadid')
|
57
57
|
expect(subject['leadid']).to eq(80)
|
58
|
+
expect(subject).not_to include('fields')
|
59
|
+
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
@@ -81,6 +83,8 @@ RUBY_ENGINE == "jruby" and describe LogStash::Filters::Mautic do
|
|
81
83
|
#insist { subject["points"] } == 25
|
82
84
|
expect(subject).to include("firstname")
|
83
85
|
expect(subject['firstname']).to eq("New")
|
86
|
+
expect(subject).not_to include('fields')
|
87
|
+
|
84
88
|
end
|
85
89
|
end
|
86
90
|
|
@@ -110,7 +114,7 @@ RUBY_ENGINE == "jruby" and describe LogStash::Filters::Mautic do
|
|
110
114
|
expect(subject['mautic_tags'][0]).to eq("test")
|
111
115
|
expect(subject['mautic_tags'][1]).to eq("test2")
|
112
116
|
expect(subject).not_to include('fields')
|
113
|
-
|
117
|
+
expect(subject).not_to include('fields')
|
114
118
|
end
|
115
119
|
end
|
116
120
|
|
@@ -184,6 +188,8 @@ RUBY_ENGINE == "jruby" and describe LogStash::Filters::Mautic do
|
|
184
188
|
expect(subject['ipAddresses'][0]).to eq("123.14.945.113")
|
185
189
|
expect(subject['ipAddresses'][1]).to eq("89.14.945.55")
|
186
190
|
expect(subject).not_to include('fields')
|
191
|
+
expect(subject).not_to include('fields')
|
192
|
+
|
187
193
|
|
188
194
|
end
|
189
195
|
end
|
@@ -288,6 +294,53 @@ RUBY_ENGINE == "jruby" and describe LogStash::Filters::Mautic do
|
|
288
294
|
}
|
289
295
|
},
|
290
296
|
"timestamp": "2015-11-12T10:40:19+11:00"
|
297
|
+
}'
|
298
|
+
#it "should contain points"
|
299
|
+
sample entered_fields do
|
300
|
+
#insist { subject["points"] } == 25
|
301
|
+
expect(subject).to include('leadid')
|
302
|
+
expect(subject).not_to include('fields')
|
303
|
+
expect(subject).to include('firstname')
|
304
|
+
expect(subject['leadid']).to eq(25)
|
305
|
+
expect(subject['type']).to eq("lead")
|
306
|
+
expect(subject['firstname']).to eq("test")
|
307
|
+
expect(subject).not_to include('fields')
|
308
|
+
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
|
313
|
+
describe "Check changed points" do
|
314
|
+
let(:config) do <<-CONFIG
|
315
|
+
filter {
|
316
|
+
mautic {
|
317
|
+
source => "message"
|
318
|
+
}
|
319
|
+
}
|
320
|
+
CONFIG
|
321
|
+
end
|
322
|
+
|
323
|
+
entered_fields = '{
|
324
|
+
"mautic.lead_points_change": {
|
325
|
+
"lead": {
|
326
|
+
"id": 26,
|
327
|
+
"points": 10,
|
328
|
+
"color": null,
|
329
|
+
"fields": {},
|
330
|
+
"lastActive": "2015-08-26T01:30:35+00:00",
|
331
|
+
"owner": null,
|
332
|
+
"ipAddresses": {
|
333
|
+
"127.0.0.1": []
|
334
|
+
},
|
335
|
+
"dateIdentified": "2015-08-26T01:30:35+00:00",
|
336
|
+
"preferredProfileImage": null
|
337
|
+
},
|
338
|
+
"points": {
|
339
|
+
"old_points": 0,
|
340
|
+
"new_points": 10
|
341
|
+
}
|
342
|
+
},
|
343
|
+
"timestamp": "2015-11-13T15:38:10+11:00"
|
291
344
|
}'
|
292
345
|
#it "should contain points"
|
293
346
|
sample entered_fields do
|
metadata
CHANGED
@@ -1,17 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-mautic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zac Petterd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
|
14
|
+
name: logstash-core
|
15
|
+
version_requirements: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - '>='
|
17
18
|
- !ruby/object:Gem::Version
|
@@ -19,10 +20,7 @@ dependencies:
|
|
19
20
|
- - <
|
20
21
|
- !ruby/object:Gem::Version
|
21
22
|
version: 3.0.0
|
22
|
-
|
23
|
-
prerelease: false
|
24
|
-
type: :runtime
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
26
24
|
requirements:
|
27
25
|
- - '>='
|
28
26
|
- !ruby/object:Gem::Version
|
@@ -30,20 +28,22 @@ dependencies:
|
|
30
28
|
- - <
|
31
29
|
- !ruby/object:Gem::Version
|
32
30
|
version: 3.0.0
|
31
|
+
prerelease: false
|
32
|
+
type: :runtime
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
|
34
|
+
name: logstash-devutils
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
35
36
|
requirements:
|
36
37
|
- - '>='
|
37
38
|
- !ruby/object:Gem::Version
|
38
39
|
version: '0'
|
39
|
-
|
40
|
-
prerelease: false
|
41
|
-
type: :development
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
43
41
|
requirements:
|
44
42
|
- - '>='
|
45
43
|
- !ruby/object:Gem::Version
|
46
44
|
version: '0'
|
45
|
+
prerelease: false
|
46
|
+
type: :development
|
47
47
|
description: This plugin lets you get the majority of you Mautic data into Elasticsearch for viewing using Kibana. Just setup a http input for logstash and a filter like so mautic { source => 'message'}. See the GitHub repository for more information
|
48
48
|
email: zac@sproutlabs.com.au
|
49
49
|
executables: []
|