sensu-plugins-slack 0.1.0 → 0.1.1
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +7 -0
- data/README.md +6 -0
- data/bin/handler-slack.rb +35 -5
- data/lib/sensu-plugins-slack/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d392b6780809c43dab85d04edde9c41e03d2da58
|
|
4
|
+
data.tar.gz: 3a42635cb3a3092876ce42217255e53058c70ac2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 533086cf8ebef42a623881de58d4afa928907cdaf041b7dd165e43decedae0bad09f5230e74185e24e3cfbb5b9abb5607a0f64745cbd3a608587b4969a3b1511
|
|
7
|
+
data.tar.gz: 21a3683747c1e22f1cc082ae73e62ffe584dc2b6d524b25e27bb0ed627c9eb016fb38e4273b172aa4ad693d52a2ac52d1a8f88be0fc581ba786d61dbe6725aac
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,13 @@ This CHANGELOG follows the format listed at [Keep A Changelog](http://keepachang
|
|
|
5
5
|
|
|
6
6
|
## Unreleased
|
|
7
7
|
|
|
8
|
+
## [0.1.1] - 2015-12-09
|
|
9
|
+
### Changed
|
|
10
|
+
- Slack handler posts JSON content type and format to slack.
|
|
11
|
+
- Slack config supports icon_url and icon_emoji
|
|
12
|
+
### Added
|
|
13
|
+
- add arguments to specify proxy settings
|
|
14
|
+
|
|
8
15
|
## [0.1.0] - 2015-11-12
|
|
9
16
|
### Added
|
|
10
17
|
- New handler-slack-multichannel.rb handler for more complex multi-channel alerting to Slack
|
data/README.md
CHANGED
|
@@ -23,6 +23,12 @@
|
|
|
23
23
|
"surround": "optional - can be used for bold(*), italics(_), code(`) and preformatted(```)",
|
|
24
24
|
"bot_name": "optional bot name, defaults to slack defined",
|
|
25
25
|
"template": "/some/path/to/template.erb",
|
|
26
|
+
"proxy_address": "The HTTP proxy address (example: proxy.example.com)"
|
|
27
|
+
"proxy_port": "The HTTP proxy port (if there is a proxy)"
|
|
28
|
+
"proxy_username": "The HTTP proxy username (if there is a proxy)"
|
|
29
|
+
"proxy_password": "The HTTP proxy user password (if there is a proxy)"
|
|
30
|
+
"icon_url": "http://sensuapp.org/img/sensu_logo_large-c92d73db.png"
|
|
31
|
+
"icon_emoji": ":snowman:"
|
|
26
32
|
"fields": [
|
|
27
33
|
"list",
|
|
28
34
|
"of",
|
data/bin/handler-slack.rb
CHANGED
|
@@ -26,6 +26,14 @@ class Slack < Sensu::Handler
|
|
|
26
26
|
get_setting('webhook_url')
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
+
def slack_icon_emoji
|
|
30
|
+
get_setting('icon_emoji')
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def slack_icon_url
|
|
34
|
+
get_setting('icon_url')
|
|
35
|
+
end
|
|
36
|
+
|
|
29
37
|
def slack_channel
|
|
30
38
|
@event['client']['slack_channel'] || @event['check']['slack_channel'] || get_setting('channel')
|
|
31
39
|
end
|
|
@@ -50,6 +58,22 @@ class Slack < Sensu::Handler
|
|
|
50
58
|
get_setting('fields')
|
|
51
59
|
end
|
|
52
60
|
|
|
61
|
+
def proxy_address
|
|
62
|
+
get_setting('proxy_address')
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def proxy_port
|
|
66
|
+
get_setting('proxy_port')
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def proxy_username
|
|
70
|
+
get_setting('proxy_username')
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def proxy_password
|
|
74
|
+
get_setting('proxy_password')
|
|
75
|
+
end
|
|
76
|
+
|
|
53
77
|
def incident_key
|
|
54
78
|
@event['client']['name'] + '/' + @event['check']['name']
|
|
55
79
|
end
|
|
@@ -69,7 +93,7 @@ class Slack < Sensu::Handler
|
|
|
69
93
|
else
|
|
70
94
|
template = '''<%=
|
|
71
95
|
[
|
|
72
|
-
@event["check"]["output"],
|
|
96
|
+
@event["check"]["output"].gsub(\'"\', \'\\"\'),
|
|
73
97
|
@event["client"]["address"],
|
|
74
98
|
@event["client"]["subscriptions"].join(",")
|
|
75
99
|
].join(" : ")
|
|
@@ -82,12 +106,17 @@ class Slack < Sensu::Handler
|
|
|
82
106
|
|
|
83
107
|
def post_data(notice)
|
|
84
108
|
uri = URI(slack_webhook_url)
|
|
85
|
-
http =
|
|
109
|
+
http = if proxy_address.nil?
|
|
110
|
+
Net::HTTP.new(uri.host, uri.port)
|
|
111
|
+
else
|
|
112
|
+
Net::HTTP::Proxy(proxy_address, proxy_port, proxy_username, proxy_password).new(uri.host, uri.port)
|
|
113
|
+
end
|
|
86
114
|
http.use_ssl = true
|
|
87
115
|
|
|
88
|
-
req = Net::HTTP::Post.new("#{uri.path}?#{uri.query}")
|
|
116
|
+
req = Net::HTTP::Post.new("#{uri.path}?#{uri.query}", 'Content-Type' => 'application/json')
|
|
89
117
|
text = slack_surround ? slack_surround + notice + slack_surround : notice
|
|
90
|
-
|
|
118
|
+
|
|
119
|
+
req.body = payload(text).to_json
|
|
91
120
|
|
|
92
121
|
response = http.request(req)
|
|
93
122
|
verify_response(response)
|
|
@@ -119,7 +148,7 @@ class Slack < Sensu::Handler
|
|
|
119
148
|
end
|
|
120
149
|
|
|
121
150
|
{
|
|
122
|
-
icon_url: 'http://sensuapp.org/img/sensu_logo_large-c92d73db.png',
|
|
151
|
+
icon_url: slack_icon_url ? slack_icon_url : 'http://sensuapp.org/img/sensu_logo_large-c92d73db.png',
|
|
123
152
|
attachments: [{
|
|
124
153
|
title: "#{@event['client']['address']} - #{translate_status}",
|
|
125
154
|
text: [slack_message_prefix, notice].compact.join(' '),
|
|
@@ -129,6 +158,7 @@ class Slack < Sensu::Handler
|
|
|
129
158
|
}.tap do |payload|
|
|
130
159
|
payload[:channel] = slack_channel if slack_channel
|
|
131
160
|
payload[:username] = slack_bot_name if slack_bot_name
|
|
161
|
+
payload[:icon_emoji] = slack_icon_emoji if slack_icon_emoji
|
|
132
162
|
end
|
|
133
163
|
end
|
|
134
164
|
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sensu-plugins-slack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sensu-Plugins and contributors
|
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
|
30
30
|
8sHuVruarogxxKPBzlL2is4EUb6oN/RdpGx2l4254+nyR+abg//Ed27Ym0PkB4lk
|
|
31
31
|
HP0m8WSjZmFr109pE/sVsM5jtOCvogyujQOjNVGN4gz1wwPr
|
|
32
32
|
-----END CERTIFICATE-----
|
|
33
|
-
date: 2015-
|
|
33
|
+
date: 2015-12-09 00:00:00.000000000 Z
|
|
34
34
|
dependencies:
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
36
|
name: erubis
|
metadata.gz.sig
CHANGED
|
Binary file
|