sensu-plugins-mailer 2.0.1 → 2.1.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 +5 -5
- data/CHANGELOG.md +5 -0
- data/README.md +5 -0
- data/bin/handler-mailer.rb +28 -6
- data/lib/sensu-plugins-mailer/version.rb +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d530c35c2b3418da88c519c84bc2e1004b950408
|
4
|
+
data.tar.gz: 81e19d4ca9159681bd0795ee179a5c0a083bcb62
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5367e78f2db13246bf4f0b50d2cac2dd77d538f91d5f891b8fa351963f06684c049692e62cb344bc971ccc7d073a5cf99346c8aaf9a7dd84d683db41fb06ca13
|
7
|
+
data.tar.gz: 0f53a2cc839508e4601444f025655de9e22b28ea168fcbff13ea86f0788075b4e7226d02085249ebb09d1d8cce81223fe42227826b489b3d9a0edf240a673c47
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,10 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [2.1.0] - 2018-11-01
|
9
|
+
### Added
|
10
|
+
- handler-mailer.rb: add subject_template feature. With this option to can change the default subject with a template.
|
11
|
+
|
8
12
|
## [2.0.1] - 2018-01-31
|
9
13
|
### Fixed
|
10
14
|
- handler-mailer.rb: emit an `unknown` with a helpful message when receiving an event `@event['contact']` with multiple objects in an array. This helps avoid confusion over using `contact` when you meant `contacts`. (@majormoses)
|
@@ -106,6 +110,7 @@ This CHANGELOG follows the format listed [here](https://github.com/sensu-plugins
|
|
106
110
|
- initial release
|
107
111
|
|
108
112
|
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-mailer/compare/2.0.1...HEAD
|
113
|
+
[2.1.0]: https://github.com/sensu-plugins/sensu-plugins-mailer/compare/2.0.1...2.1.0
|
109
114
|
[2.0.1]: https://github.com/sensu-plugins/sensu-plugins-mailer/compare/2.0.0...2.0.1
|
110
115
|
[2.0.0]: https://github.com/sensu-plugins/sensu-plugins-mailer/compare/1.2.0...2.0.0
|
111
116
|
[1.2.0]: https://github.com/sensu-plugins/sensu-plugins-mailer/compare/1.1.0...1.2.0
|
data/README.md
CHANGED
@@ -27,6 +27,10 @@ Optionally, you can specify your own ERB template file to use for the message
|
|
27
27
|
body. The order of precedence for templates is: command-line argument (-t),
|
28
28
|
client config called "template", the mailer handler config, default.
|
29
29
|
|
30
|
+
Optionally, you can specify your own ERB template file to use for the message
|
31
|
+
subject. The order of precedence for templates is: command-line argument (-T),
|
32
|
+
client config called "subject_template", the mailer handler config, default.
|
33
|
+
|
30
34
|
```json
|
31
35
|
{
|
32
36
|
"mailer": {
|
@@ -36,6 +40,7 @@ client config called "template", the mailer handler config, default.
|
|
36
40
|
"smtp_port": "25",
|
37
41
|
"smtp_domain": "example.org",
|
38
42
|
"template": "/optional/path/to/template.erb",
|
43
|
+
"subject_template": "/optional/path/to/subject_template.erb",
|
39
44
|
"subscriptions": {
|
40
45
|
"subscription_name": {
|
41
46
|
"mail_to": "teamemail@example.com"
|
data/bin/handler-mailer.rb
CHANGED
@@ -48,6 +48,12 @@ class Mailer < Sensu::Handler
|
|
48
48
|
long: '--template TemplateFile',
|
49
49
|
required: false
|
50
50
|
|
51
|
+
option :subject_template,
|
52
|
+
description: 'Subject template to use',
|
53
|
+
short: '-T TemplateFile',
|
54
|
+
long: '--subject_template TemplateFile',
|
55
|
+
required: false
|
56
|
+
|
51
57
|
option :content_type,
|
52
58
|
description: 'Content-type of message',
|
53
59
|
short: '-c ContentType',
|
@@ -176,6 +182,26 @@ class Mailer < Sensu::Handler
|
|
176
182
|
mail_to.to_a.join(', ')
|
177
183
|
end
|
178
184
|
|
185
|
+
def subject_template
|
186
|
+
return config[:subject_template] if config[:subject_template]
|
187
|
+
return @event['check']['subject_template'] if @event['check']['subject_template']
|
188
|
+
return json_config_settings['subject_template'] if json_config_settings['subject_template']
|
189
|
+
nil
|
190
|
+
end
|
191
|
+
|
192
|
+
def build_subject
|
193
|
+
template = if subject_template && File.readable?(subject_template)
|
194
|
+
File.read(subject_template)
|
195
|
+
else
|
196
|
+
<<-SUBJECT.gsub(/^\s+/, '')
|
197
|
+
<%= action_to_string %> - <%= short_name %>: <% if (@event['check']['notification'] != nil) then %><%= @event['check']['notification'] %><% else %><%= status_to_string %><% end %>
|
198
|
+
SUBJECT
|
199
|
+
end
|
200
|
+
|
201
|
+
eruby = Erubis::Eruby.new(template)
|
202
|
+
eruby.result(binding)
|
203
|
+
end
|
204
|
+
|
179
205
|
def message_template
|
180
206
|
return config[:template] if config[:template]
|
181
207
|
return @event['check']['template'] if @event['check']['template']
|
@@ -212,6 +238,8 @@ class Mailer < Sensu::Handler
|
|
212
238
|
|
213
239
|
def handle
|
214
240
|
body = build_body
|
241
|
+
subject = "#{prefix_subject}#{build_subject}"
|
242
|
+
|
215
243
|
content_type = parse_content_type
|
216
244
|
mail_to = build_mail_to_list
|
217
245
|
mail_from = json_config_settings['mail_from']
|
@@ -239,12 +267,6 @@ class Mailer < Sensu::Handler
|
|
239
267
|
'X-Sensu-Occurrences' => (@event['occurrences']).to_s
|
240
268
|
}
|
241
269
|
|
242
|
-
subject = if @event['check']['notification'].nil?
|
243
|
-
"#{prefix_subject}#{action_to_string} - #{short_name}: #{status_to_string}"
|
244
|
-
else
|
245
|
-
"#{prefix_subject}#{action_to_string} - #{short_name}: #{@event['check']['notification']}"
|
246
|
-
end
|
247
|
-
|
248
270
|
Mail.defaults do
|
249
271
|
delivery_options = {
|
250
272
|
address: smtp_address,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-mailer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sensu-Plugins and contributors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-11-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-ses
|
@@ -223,8 +223,8 @@ dependencies:
|
|
223
223
|
description: Provides mail output for Sensu
|
224
224
|
email: "<sensu-users@googlegroups.com>"
|
225
225
|
executables:
|
226
|
-
- handler-mailer-mailgun.rb
|
227
226
|
- handler-mailer-ses.rb
|
227
|
+
- handler-mailer-mailgun.rb
|
228
228
|
- handler-mailer.rb
|
229
229
|
extensions: []
|
230
230
|
extra_rdoc_files: []
|
@@ -263,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
263
|
version: '0'
|
264
264
|
requirements: []
|
265
265
|
rubyforge_project:
|
266
|
-
rubygems_version: 2.
|
266
|
+
rubygems_version: 2.6.11
|
267
267
|
signing_key:
|
268
268
|
specification_version: 4
|
269
269
|
summary: Sensu plugins for mailer
|