statusio 0.2.5 → 0.3.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 +36 -0
- data/Gemfile +1 -1
- data/lib/statusio.rb +30 -10
- data/lib/statusio/rb/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c0d2d7fc197b696855cc36d6aeab847f3b9166b4f4bb22c403d8782880748e0d
|
4
|
+
data.tar.gz: cd6bdee45fa6289f06c2035c2508bc26bb6d00019829ded80f3c7c61145d72d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5e598031a868cd774b1cb69b50b16780fc6a533d8bcdfe4ea6ebdf2689bfcc95f84615544a1bb9470e9b72c2e7b56e7034dd711fb23cee5d2c0834b86a53afa
|
7
|
+
data.tar.gz: 2c7e0a2ae553f90841b51d4f96ba1ca47ff1c3bddd661b0ec029ed516607115db769fc9edd50cf52fef629b1f69854af8a9cc6e2cf6ed0605613204656b8d18c
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
## Change Log
|
2
|
+
|
3
|
+
### v0.3.0 (2021/5/17)
|
4
|
+
- Added Microsoft Teams
|
5
|
+
|
6
|
+
### v0.2.9 (2020/2/17)
|
7
|
+
- Fixed the ordering of the message_subject argument for the incident/maintenance methods which was breaking backwards compatibility
|
8
|
+
|
9
|
+
### v0.2.8 (2020/2/14)
|
10
|
+
- Fix silent parameter type
|
11
|
+
|
12
|
+
### v0.2.7 (2020/2/10)
|
13
|
+
- Adding message_subject to all incident and maintenance methods
|
14
|
+
|
15
|
+
### v0.2.6 (2019/3/26)
|
16
|
+
- Force rest-client gem to be version 1.8.0
|
17
|
+
|
18
|
+
### v0.2.5 (2018/11/28)
|
19
|
+
- Changed variables to proper type (int->str)
|
20
|
+
|
21
|
+
### v0.2.4 (2018/2/9)
|
22
|
+
- Support retrieving single incident/maintenance events. New incident/maintenance methods to fetch list of IDs
|
23
|
+
- Change /component/status/update to use a single component
|
24
|
+
|
25
|
+
### v0.2.3 (2017/12/20)
|
26
|
+
- Updated incident/create to handle infrastructure_affected combo
|
27
|
+
|
28
|
+
### v0.2.2 (2017/12/14)
|
29
|
+
- Updated maintenance/schedule to handle infrastructure_affected combos
|
30
|
+
|
31
|
+
### v0.2.1 (2016/2/11)
|
32
|
+
- Refactor API calls into a #request method (@seanhandley)
|
33
|
+
- Depend on rest-client gem in runtime (@Nowaker)
|
34
|
+
|
35
|
+
### v0.1.0 (2016/1/19)
|
36
|
+
- Initial release
|
data/Gemfile
CHANGED
data/lib/statusio.rb
CHANGED
@@ -25,6 +25,7 @@ class StatusioClient
|
|
25
25
|
NOTIFY_IRC = 16
|
26
26
|
NOTIFY_HIPCHAT = 32
|
27
27
|
NOTIFY_SLACK = 64
|
28
|
+
NOTIFY_MSTEAMS = 128
|
28
29
|
|
29
30
|
def initialize(api_key, api_id)
|
30
31
|
@api_key = api_key
|
@@ -50,7 +51,8 @@ class StatusioClient
|
|
50
51
|
'social' => '0',
|
51
52
|
'irc' => '0',
|
52
53
|
'hipchat' => '0',
|
53
|
-
'slack' => '0'
|
54
|
+
'slack' => '0',
|
55
|
+
'msteams' => '0'
|
54
56
|
}
|
55
57
|
|
56
58
|
if notifications & NOTIFY_EMAIL == NOTIFY_EMAIL
|
@@ -81,6 +83,10 @@ class StatusioClient
|
|
81
83
|
notify['slack'] = '1'
|
82
84
|
end
|
83
85
|
|
86
|
+
if notifications & NOTIFY_MSTEAMS == NOTIFY_MSTEAMS
|
87
|
+
notify['msteams'] = '1'
|
88
|
+
end
|
89
|
+
|
84
90
|
return notify
|
85
91
|
end
|
86
92
|
|
@@ -191,9 +197,10 @@ class StatusioClient
|
|
191
197
|
# @param current_state(int) The state of this incident (StatusioClient::STATE_#).
|
192
198
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
193
199
|
# @param all_infrastructure_affected(string) Affect all components and containers (default = 0)
|
200
|
+
# @param message_subject(string) Message subject for email notifications (default = Status Notification)
|
194
201
|
# @return object
|
195
202
|
|
196
|
-
def incident_create(statuspage_id, incident_name, incident_details, infrastructure_affected, current_status, current_state, notifications = 0, all_infrastructure_affected = "0")
|
203
|
+
def incident_create(statuspage_id, incident_name, incident_details, infrastructure_affected, current_status, current_state, notifications = 0, all_infrastructure_affected = "0", message_subject = "Status Notification")
|
197
204
|
data = get_notify(notifications)
|
198
205
|
data['statuspage_id'] = statuspage_id
|
199
206
|
data['incident_name'] = incident_name
|
@@ -202,6 +209,7 @@ class StatusioClient
|
|
202
209
|
data['current_status'] = current_status
|
203
210
|
data['current_state'] = current_state
|
204
211
|
data['all_infrastructure_affected'] = all_infrastructure_affected
|
212
|
+
data['message_subject'] = message_subject
|
205
213
|
|
206
214
|
request :method => :post,
|
207
215
|
:url => @url + 'incident/create',
|
@@ -217,15 +225,17 @@ class StatusioClient
|
|
217
225
|
# @param current_status(int) The status of the components and containers affected by this incident (StatusioClient::STATUS_#).
|
218
226
|
# @param current_state(int) The state of this incident (StatusioClient::STATE_#).
|
219
227
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
228
|
+
# @param message_subject(string) Message subject for email notifications (default = Status Notification)
|
220
229
|
# @return object
|
221
230
|
|
222
|
-
def incident_update(statuspage_id, incident_id, incident_details, current_status, current_state, notifications = 0)
|
231
|
+
def incident_update(statuspage_id, incident_id, incident_details, current_status, current_state, notifications = 0, message_subject = "Status Notification")
|
223
232
|
data = get_notify(notifications)
|
224
233
|
data['statuspage_id'] = statuspage_id
|
225
234
|
data['incident_id'] = incident_id
|
226
235
|
data['incident_details'] = incident_details
|
227
236
|
data['current_status'] = current_status
|
228
237
|
data['current_state'] = current_state
|
238
|
+
data['message_subject'] = message_subject
|
229
239
|
|
230
240
|
request :method => :post,
|
231
241
|
:url => @url + 'incident/update',
|
@@ -241,15 +251,17 @@ class StatusioClient
|
|
241
251
|
# @param current_status(int) The status of the components and containers affected by this incident (StatusioClient::STATUS_#).
|
242
252
|
# @param current_state(int) The state of this incident (StatusioClient::STATE_#).
|
243
253
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
254
|
+
# @param message_subject(string) Message subject for email notifications (default = Status Notification)
|
244
255
|
# @return object
|
245
256
|
|
246
|
-
def incident_resolve(statuspage_id, incident_id, incident_details, current_status, current_state, notifications = 0)
|
257
|
+
def incident_resolve(statuspage_id, incident_id, incident_details, current_status, current_state, notifications = 0, message_subject = "Status Notification")
|
247
258
|
data = get_notify(notifications)
|
248
259
|
data['statuspage_id'] = statuspage_id
|
249
260
|
data['incident_id'] = incident_id
|
250
261
|
data['incident_details'] = incident_details
|
251
262
|
data['current_status'] = current_status
|
252
263
|
data['current_state'] =current_state
|
264
|
+
data['message_subject'] = message_subject
|
253
265
|
|
254
266
|
request :method => :post,
|
255
267
|
:url => @url + 'incident/resolve',
|
@@ -340,13 +352,14 @@ class StatusioClient
|
|
340
352
|
# @param maintenance_notify_1_hr(string) Notify subscribers 1 hour before scheduled maintenance start time (1 = Send notification)
|
341
353
|
# @param maintenance_notify_24_hr(string) Notify subscribers 24 hours before scheduled maintenance start time (1 = Send notification)
|
342
354
|
# @param maintenance_notify_72_hr(string) Notify subscribers 72 hours before scheduled maintenance start time (1 = Send notification)
|
355
|
+
# @param message_subject(string) Message subject for email notifications (default = Maintenance Notification)
|
343
356
|
# @return object
|
344
357
|
|
345
358
|
def maintenance_schedule(statuspage_id, maintenance_name, maintenance_details, infrastructure_affected,
|
346
359
|
date_planned_start, time_planned_start, date_planned_end, time_planned_end,
|
347
360
|
automation = "0", all_infrastructure_affected = "0",
|
348
361
|
maintenance_notify_now = "0", maintenance_notify_1_hr = "0",
|
349
|
-
maintenance_notify_24_hr = "0", maintenance_notify_72_hr = "0")
|
362
|
+
maintenance_notify_24_hr = "0", maintenance_notify_72_hr = "0", message_subject = "Maintenance Notification")
|
350
363
|
data = {}
|
351
364
|
data['statuspage_id'] = statuspage_id
|
352
365
|
data['maintenance_name'] = maintenance_name
|
@@ -362,6 +375,7 @@ class StatusioClient
|
|
362
375
|
data['maintenance_notify_1_hr'] = maintenance_notify_1_hr
|
363
376
|
data['maintenance_notify_24_hr'] = maintenance_notify_24_hr
|
364
377
|
data['maintenance_notify_72_hr'] = maintenance_notify_72_hr
|
378
|
+
data['message_subject'] = message_subject
|
365
379
|
|
366
380
|
request :method => :post,
|
367
381
|
:url => @url + 'maintenance/schedule',
|
@@ -375,13 +389,15 @@ class StatusioClient
|
|
375
389
|
# @param maintenance_id(string) Maintenance ID
|
376
390
|
# @param maintenance_details(string) Message describing this maintenance update
|
377
391
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
392
|
+
# @param message_subject(string) Message subject for email notifications (default = Maintenance Notification)
|
378
393
|
# @return object
|
379
394
|
|
380
|
-
def maintenance_start(statuspage_id, maintenance_id, maintenance_details, notifications = 0)
|
395
|
+
def maintenance_start(statuspage_id, maintenance_id, maintenance_details, notifications = 0, message_subject = "Maintenance Notification")
|
381
396
|
data = get_notify(notifications)
|
382
397
|
data['statuspage_id'] = statuspage_id
|
383
398
|
data['maintenance_id'] = maintenance_id
|
384
399
|
data['maintenance_details'] = maintenance_details
|
400
|
+
data['message_subject'] = message_subject
|
385
401
|
|
386
402
|
request :method => :post,
|
387
403
|
:url => @url + 'maintenance/start',
|
@@ -395,13 +411,15 @@ class StatusioClient
|
|
395
411
|
# @param maintenance_id(string) Maintenance ID
|
396
412
|
# @param maintenance_details(string) Message describing this maintenance
|
397
413
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
414
|
+
# @param message_subject(string) Message subject for email notifications (default = Maintenance Notification)
|
398
415
|
# @return object
|
399
416
|
|
400
|
-
def maintenance_update(statuspage_id, maintenance_id, maintenance_details, notifications = 0)
|
417
|
+
def maintenance_update(statuspage_id, maintenance_id, maintenance_details, notifications = 0, message_subject = "Maintenance Notification")
|
401
418
|
data = get_notify(notifications)
|
402
419
|
data['statuspage_id'] = statuspage_id
|
403
420
|
data['maintenance_id'] = maintenance_id
|
404
421
|
data['maintenance_details'] = maintenance_details
|
422
|
+
data['message_subject'] = message_subject
|
405
423
|
|
406
424
|
request :method => :post,
|
407
425
|
:url => @url + 'maintenance/update',
|
@@ -415,13 +433,15 @@ class StatusioClient
|
|
415
433
|
# @param maintenance_id(string) Maintenance ID
|
416
434
|
# @param maintenance_details(string) Message describing this maintenance
|
417
435
|
# @param notifications(int) Bitmasked notifications (StatusioClient::NOTIFY_#). To use multiple just add them up (ie StatusioClient::NOTIFY_SMS + StatusioClient::NOTIFY_SLACK).
|
436
|
+
# @param message_subject(string) Message subject for email notifications (default = Maintenance Notification)
|
418
437
|
# @return object
|
419
438
|
|
420
|
-
def maintenance_finish(statuspage_id, maintenance_id, maintenance_details, notifications = 0)
|
439
|
+
def maintenance_finish(statuspage_id, maintenance_id, maintenance_details, notifications = 0, message_subject = "Maintenance Notification")
|
421
440
|
data = get_notify(notifications)
|
422
441
|
data['statuspage_id'] = statuspage_id
|
423
442
|
data['maintenance_id'] = maintenance_id
|
424
443
|
data['maintenance_details'] = maintenance_details
|
444
|
+
data['message_subject'] = message_subject
|
425
445
|
|
426
446
|
request :method => :post,
|
427
447
|
:url => @url + 'maintenance/finish',
|
@@ -522,11 +542,11 @@ class StatusioClient
|
|
522
542
|
# @param statuspage_id(string) Status page ID
|
523
543
|
# @param method(string) Communication method of subscriber. Valid methods are `email`, `sms` or `webhook`
|
524
544
|
# @param address(string) Subscriber address (SMS number must include country code ie. +1)
|
525
|
-
# @param silent(
|
545
|
+
# @param silent(string) Suppress the welcome message (1 = Do not send notification)
|
526
546
|
# @param granular(string) List of component_container combos
|
527
547
|
# @return object
|
528
548
|
|
529
|
-
def subscriber_add(statuspage_id, method, address, silent = 1, granular = '')
|
549
|
+
def subscriber_add(statuspage_id, method, address, silent = '1', granular = '')
|
530
550
|
data = {}
|
531
551
|
data['statuspage_id'] = statuspage_id
|
532
552
|
data['method'] = method
|
data/lib/statusio/rb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statusio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Status.io
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- ".gitignore"
|
36
36
|
- ".rspec"
|
37
37
|
- ".travis.yml"
|
38
|
+
- CHANGELOG.md
|
38
39
|
- Gemfile
|
39
40
|
- README.md
|
40
41
|
- Rakefile
|
@@ -62,7 +63,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
63
|
version: '0'
|
63
64
|
requirements: []
|
64
65
|
rubyforge_project:
|
65
|
-
rubygems_version: 2.6
|
66
|
+
rubygems_version: 2.7.6
|
66
67
|
signing_key:
|
67
68
|
specification_version: 4
|
68
69
|
summary: Ruby library wrapper for Status.io
|