sensu-plugins-slack 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -1
- data/README.md +34 -1
- data/bin/handler-slack-multichannel.rb +40 -1
- data/lib/sensu-plugins-slack/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9e17d470810e6c1b420fd9978176d83068be519
|
4
|
+
data.tar.gz: 92bc6643bb39dd91419fd92a532b3a51637c9a34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28f88ff3cf8228d5fada54e72e0c902ed08b7cd38729b247162bbf483f1643e14f8b09aba012b29754e48d4aec1f83e4757e9ced821e8be6a01492af6957c58d
|
7
|
+
data.tar.gz: f1bc4b64b7297383b597c6f20bb4bad8e9f8994e42b761bc047e3e4b3b5b01d9eb7577379f6a3b540c055bd556e65713fe05c2633d0a105596940a2f8e6463af
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
5
5
|
|
6
6
|
## [Unreleased]
|
7
7
|
|
8
|
+
## [1.2.0] - 2017-07-13
|
9
|
+
### Added
|
10
|
+
- ruby 2.4 testing in travis (@majormoses)
|
11
|
+
- `slack-handler-multichannel.rb`: Add custom_field options to supply additional fields (@justbkuz)
|
12
|
+
|
8
13
|
## [1.1.1] - 2017-06-24
|
9
14
|
### Fixed
|
10
15
|
- Ran rubocop against `bin/slack-handler.rb` and `bin/slack-handler-multichannel.rb` (@pgporada)
|
@@ -80,7 +85,8 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
80
85
|
### Added
|
81
86
|
- initial release
|
82
87
|
|
83
|
-
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/1.
|
88
|
+
[Unreleased]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/1.2.0...HEAD
|
89
|
+
[1.2.0]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/1.1.1...1.2.0
|
84
90
|
[1.1.1]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/1.1.0...1.1.1.
|
85
91
|
[1.1.0]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/1.0.0...1.1.0
|
86
92
|
[1.0.0]: https://github.com/sensu-plugins/sensu-plugins-slack/compare/v0.1.2...1.0.0
|
data/README.md
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
* bin/handler-slack.rb
|
13
13
|
* bin/handler-slack-multichannel.rb
|
14
14
|
|
15
|
-
## Usage
|
15
|
+
## Usage for handler-slack.rb
|
16
16
|
```
|
17
17
|
{
|
18
18
|
"slack": {
|
@@ -41,6 +41,39 @@
|
|
41
41
|
}
|
42
42
|
}
|
43
43
|
```
|
44
|
+
## Usage for handler-slack-multichannel.rb
|
45
|
+
```
|
46
|
+
{
|
47
|
+
"slack": {
|
48
|
+
"webhook_url": "webhook url",
|
49
|
+
"channel": {
|
50
|
+
"default": [ "#no-team-alerts" ],
|
51
|
+
"compulsory": [ "#all-alerts" ]
|
52
|
+
}
|
53
|
+
"message_prefix": "optional prefix - can be used for mentions",
|
54
|
+
"surround": "optional - can be used for bold(*), italics(_), code(`) and preformatted(```)",
|
55
|
+
"bot_name": "optional bot name, defaults to slack defined",
|
56
|
+
"link_names": "optional - find and link channel names and usernames",
|
57
|
+
"message_template": "optional description erb template file - /some/path/to/template.erb",
|
58
|
+
"payload_template": "optional json payload template file (note: overrides most other template options.)",
|
59
|
+
"template": "backwards-compatible alias for message_template",
|
60
|
+
"proxy_address": "The HTTP proxy address (example: proxy.example.com)",
|
61
|
+
"proxy_port": "The HTTP proxy port (if there is a proxy)",
|
62
|
+
"proxy_username": "The HTTP proxy username (if there is a proxy)",
|
63
|
+
"proxy_password": "The HTTP proxy user password (if there is a proxy)",
|
64
|
+
"icon_url": "https://raw.githubusercontent.com/sensu/sensu-logo/master/sensu1_flat%20white%20bg_png.png",
|
65
|
+
"icon_emoji": ":snowman:",
|
66
|
+
"custom_field": [
|
67
|
+
"list",
|
68
|
+
"of",
|
69
|
+
"optional",
|
70
|
+
"check_fields",
|
71
|
+
"to_render"
|
72
|
+
]
|
73
|
+
}
|
74
|
+
}
|
75
|
+
```
|
76
|
+
|
44
77
|
|
45
78
|
## Installation
|
46
79
|
|
@@ -41,6 +41,27 @@
|
|
41
41
|
# ...,
|
42
42
|
# }
|
43
43
|
# }
|
44
|
+
#
|
45
|
+
# Custom Field support added:
|
46
|
+
#
|
47
|
+
# Adding custom_field to handler will add a field to message with that fields content, if that field doesn't exist it will be ignored.
|
48
|
+
#
|
49
|
+
# "slack" {
|
50
|
+
# "channels" [ "#db-team-alerts" ],
|
51
|
+
# "custom_field" [
|
52
|
+
# "field_name",
|
53
|
+
# "field_name_2"
|
54
|
+
# ]
|
55
|
+
# }
|
56
|
+
#
|
57
|
+
# On your check.json
|
58
|
+
#
|
59
|
+
# {
|
60
|
+
# "checks": {
|
61
|
+
# "check_disk_usage": {
|
62
|
+
# "command": " ~/check-disk-usage.rb -w 90 -c 95",
|
63
|
+
# "field_name": "https://someurl.somewhere",
|
64
|
+
# "field_name_2: "something_you_want_added"
|
44
65
|
|
45
66
|
require 'sensu-handler'
|
46
67
|
require 'json'
|
@@ -107,6 +128,10 @@ class Slack < Sensu::Handler
|
|
107
128
|
return false
|
108
129
|
end
|
109
130
|
|
131
|
+
def custom_field
|
132
|
+
get_setting('custom_field')
|
133
|
+
end
|
134
|
+
|
110
135
|
def compile_channel_list
|
111
136
|
channels = []
|
112
137
|
|
@@ -231,12 +256,26 @@ class Slack < Sensu::Handler
|
|
231
256
|
end
|
232
257
|
|
233
258
|
def payload(notice, channel)
|
259
|
+
client_fields = []
|
260
|
+
|
261
|
+
unless custom_field.nil?
|
262
|
+
custom_field.each do |field|
|
263
|
+
is_short = true unless @event['client'].key?(field) && @event['client'][field].length > 50
|
264
|
+
field_title = field unless @event['check'][field].nil?
|
265
|
+
client_fields << {
|
266
|
+
title: field_title,
|
267
|
+
value: @event['check'][field],
|
268
|
+
short: is_short
|
269
|
+
}
|
270
|
+
end
|
271
|
+
end
|
234
272
|
{
|
235
273
|
icon_url: slack_icon_url ? slack_icon_url : 'https://raw.githubusercontent.com/sensu/sensu-logo/master/sensu1_flat%20white%20bg_png.png',
|
236
274
|
attachments: [{
|
237
275
|
title: "#{@event['client']['address']} - #{translate_status}",
|
238
276
|
text: [slack_message_prefix, notice].compact.join(' '),
|
239
|
-
color: color
|
277
|
+
color: color,
|
278
|
+
fields: client_fields
|
240
279
|
}]
|
241
280
|
}.tap do |payload|
|
242
281
|
payload[:channel] = channel
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sensu-plugins-slack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.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: 2017-
|
11
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: erubis
|