pagerduty 2.1.1 → 4.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dbc9c23955ddbec1d3d5d97d54bbbae4a7ebb95daecbb0ef0a0f579249303b9
4
- data.tar.gz: 7c9a40200d5f494945ea09ca0d1915e4fd31e2c890f3145155d4b9355f195f21
3
+ metadata.gz: 5a28c0400ef717442b4cb3acdab94f93ab4ebb3f84463379ed70677b681f384b
4
+ data.tar.gz: b958f49fd7a23616456aa0b1a83938967dd4fcb03ca815aee206c02550eb414b
5
5
  SHA512:
6
- metadata.gz: 34b67d774b87ed6d165239c3617cd2e99ac3bcefacbefb369bca243758ecab129cd1fe2c50533b28a96b196aa0308b817a80dab88915e7cd0ac56f00ccd66172
7
- data.tar.gz: d6a312ee4ba7a98085cf6a352d5781ffe78224e2f1c1ab413b199bfbea618ea753e69bd4be418339c3c40f72afe1efe08649b5f8b47c81b48fbbd7f823919e9b
6
+ metadata.gz: 49fdf0151d0463187d060956fa47701ae5ef80a79bbda8b634e0996dc477927d5734c788ed4c533c0c7b94e24479733e9968aa75258506a1f9efd18f4c251065
7
+ data.tar.gz: 8673300cb3b8b1d1e1476df52dc7fa1493c480a3197e941b55a93fd4f81d72a316861f34e97c00f08eb21a4878185fe486e02e6805c01f3e6b5083797783f410
data/CHANGELOG.md ADDED
@@ -0,0 +1,476 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog], and this project adheres to
6
+ [Semantic Versioning].
7
+
8
+ [Keep a Changelog]: https://keepachangelog.com/en/1.0.0/
9
+ [Semantic Versioning]: https://semver.org/spec/v2.0.0.html
10
+
11
+ ## [Unreleased]
12
+
13
+ [Unreleased]: https://github.com/envato/pagerduty/compare/v4.0.0...HEAD
14
+
15
+ ## [4.0.0] - 2022-02-14
16
+
17
+ ### Removed
18
+
19
+ - Remove support for Ruby versions lower than 2.3 ([#78]).
20
+
21
+ - Removed the deprecated way of creating a Pagerduty instance ([#79]).
22
+
23
+ ```diff
24
+ - pagerduty = Pagerduty.new("<integration-key>")
25
+ + pagerduty = Pagerduty.build(integration_key: "<integration-key>", api_version: 1)
26
+ pagerduty.trigger("<incident description>")
27
+ incident.acknowledge
28
+ incident.resolve
29
+ ```
30
+
31
+ - Removed the deprecated `get_incident` and `service_key` methods from the
32
+ `Pagerduty::EventsApiV1::Incident` class ([#79]). `incident` provides a replacement
33
+ for the `get_incident` method. The `service_key` method has no replacement.
34
+
35
+ ```diff
36
+ pagerduty = Pagerduty.build(integration_key: "<integration-key>", api_version: 1)
37
+ - incident = pagerduty.get_incident("<incident-key>")
38
+ + incident = pagerduty.incident("<incident-key>")
39
+ incident.trigger("<incident description>")
40
+ incident.acknowledge
41
+ incident.resolve
42
+ ```
43
+
44
+ - Removed the `PagerdutyIncident` class. Instead, use the
45
+ `Pagerduty::EventsApiV1::Incident` class ([#79]).
46
+
47
+ ### Added
48
+
49
+ - Test on Ruby 3.0 and 3.1 in CI build ([#74], [#80]).
50
+
51
+ ### Changed
52
+
53
+ - The explicit `json` gem runtime dependency has been removed ([#78]).
54
+ - Use GitHub Actions for CI build instead of TravisCI ([#73]).
55
+ - The default git branch has been renamed to `main` ([#77]).
56
+
57
+ ### Fixed
58
+
59
+ - Resolved `Net::HTTPServerException` deprecation warning in test suite([#75]).
60
+
61
+ [4.0.0]: https://github.com/envato/pagerduty/compare/v3.0.0...v4.0.0
62
+ [#73]: https://github.com/envato/pagerduty/pull/73
63
+ [#74]: https://github.com/envato/pagerduty/pull/74
64
+ [#75]: https://github.com/envato/pagerduty/pull/75
65
+ [#78]: https://github.com/envato/pagerduty/pull/77
66
+ [#78]: https://github.com/envato/pagerduty/pull/78
67
+ [#79]: https://github.com/envato/pagerduty/pull/79
68
+ [#80]: https://github.com/envato/pagerduty/pull/80
69
+
70
+ ## [3.0.0] - 2020-04-20
71
+
72
+ ### Added
73
+
74
+ - A new mechanism for instantiating a Pagerduty instance ([#64]).
75
+
76
+ ```ruby
77
+ pagerduty = Pagerduty.build(integration_key: "<my-integration-key>",
78
+ api_version: 1)
79
+ ```
80
+
81
+ This new method will return an instance that implements requested PagerDuty
82
+ Events API version.
83
+
84
+ - Support for the [Pagerduty Events API version 2][events-v2-docs] ([#66]).
85
+
86
+ ```ruby
87
+ pagerduty = Pagerduty.build(
88
+ integration_key: "<my-integration-key>",
89
+ api_version: 2
90
+ )
91
+ incident = pagerduty.trigger(
92
+ summary: "summary",
93
+ source: "source",
94
+ severity: "critical"
95
+ )
96
+ incident.acknowledge
97
+ incident.resolve
98
+ ```
99
+
100
+ - Added an `incident` method to the Pagerduty Events API V1 instance ([#67]).
101
+ This is intended as a drop-in replacement for the now-deprecated
102
+ `get_incident` method.
103
+
104
+ ```ruby
105
+ pagerduty = Pagerduty.build(
106
+ integration_key: "<integration-key>",
107
+ api_version: 1
108
+ )
109
+ incident = pagerduty.incident("<incident-key>")
110
+ ```
111
+
112
+ ### Deprecated
113
+
114
+ - Using `new` on `Pagerduty` ([#64]). This works, but will be removed in the
115
+ next major version.
116
+
117
+ ```diff
118
+ - pagerduty = Pagerduty.new("<integration-key>")
119
+ + pagerduty = Pagerduty.build(integration_key: "<integration-key>", api_version: 1)
120
+ pagerduty.trigger("<incident description>")
121
+ incident.acknowledge
122
+ incident.resolve
123
+ ```
124
+
125
+ Instead, use the new `Pagerduty.build` method (see above).
126
+
127
+ - The `get_incident` method is now deprecated ([#67]). It still works, but
128
+ will be removed in the next major release. Please migrate to the new
129
+ `incident` method, that works in exactly the same way.
130
+
131
+ ```diff
132
+ pagerduty = Pagerduty.new("<integration-key>")
133
+ - incident = pagerduty.get_incident("<incident-key>")
134
+ + incident = pagerduty.incident("<incident-key>")
135
+ incident.trigger("<incident description>")
136
+ incident.acknowledge
137
+ incident.resolve
138
+ ```
139
+
140
+ ### Changed
141
+
142
+ - `Pagerduty` is no longer a class. It's now a Ruby module ([#64]). This will
143
+ break implementations that use `Pagerduty` in their inheritance tree.
144
+
145
+ - `PagerdutyIncident` no-longer inherits from `Pagerduty` and its initializer
146
+ parameters have changed ([#64]). Actually, it's now an alias of the
147
+ `Pagerduty::EventsApiV1:Incident` class.
148
+
149
+ ### Removed
150
+
151
+ - Can no longer specify a new incident key when triggering from an `Incident`
152
+ object ([#64]).
153
+
154
+ This will now raise an `ArgumentError`. eg.
155
+
156
+ ```ruby
157
+ incident1 = pagerduty.trigger('first incident', incident_key: 'one') # this'll work fine
158
+ incident2 = incident1.trigger('second incident', incident_key: 'two') # this no-longer works.
159
+ ```
160
+
161
+ The difference is in the object we're calling the method on.
162
+
163
+ Instead always use the pagerduty object when triggering new incidents (with
164
+ new incident keys).
165
+
166
+ This works with the Events API V1:
167
+
168
+ ```ruby
169
+ incident1 = pagerduty.trigger('first incident', incident_key: 'one')
170
+ incident2 = pagerduty.trigger('second incident', incident_key: 'two')
171
+ ```
172
+
173
+ And this is even better, as it works with both the Events API V1 and V2:
174
+
175
+ ```ruby
176
+ incident1 = pagerduty.incident('one').trigger('first incident')
177
+ incident2 = pagerduty.incident('two').trigger('second incident')
178
+ ```
179
+
180
+ [3.0.0]: https://github.com/envato/pagerduty/compare/v2.1.3...v3.0.0
181
+ [events-v2-docs]: https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgw-events-api-v2-overview
182
+ [#64]: https://github.com/envato/pagerduty/pull/64
183
+ [#66]: https://github.com/envato/pagerduty/pull/66
184
+ [#67]: https://github.com/envato/pagerduty/pull/67
185
+
186
+ ## [2.1.3] - 2020-02-10
187
+
188
+ ### Added
189
+
190
+ - Test against Ruby 2.6 and 2.7 in CI ([#55], [#63]).
191
+
192
+ - Add project metadata to the gemspec ([#57]).
193
+
194
+ - A downloads badge to the readme ([#58]).
195
+
196
+ - This changelog document ([#59]).
197
+
198
+ ### Fixed
199
+
200
+ - Realign with latest Rubocop style ([#54], [#62]).
201
+
202
+ ### Removed
203
+
204
+ - Test files are no longer included in the gem file ([#60]).
205
+
206
+ [2.1.3]: https://github.com/envato/pagerduty/compare/v2.1.2...v2.1.3
207
+ [#54]: https://github.com/envato/pagerduty/pull/54
208
+ [#55]: https://github.com/envato/pagerduty/pull/55
209
+ [#57]: https://github.com/envato/pagerduty/pull/57
210
+ [#58]: https://github.com/envato/pagerduty/pull/58
211
+ [#59]: https://github.com/envato/pagerduty/pull/59
212
+ [#60]: https://github.com/envato/pagerduty/pull/60
213
+ [#62]: https://github.com/envato/pagerduty/pull/62
214
+ [#63]: https://github.com/envato/pagerduty/pull/63
215
+
216
+ ## [2.1.2] - 2018-09-18
217
+
218
+ ### Fixed
219
+
220
+ - Remove leading and trailing whitespace in the gem post-install message
221
+ ([#53]).
222
+
223
+ - Realign with latest Rubocop style ([#53]).
224
+
225
+ - Update the links to Pagerduty official API documentation.
226
+
227
+ - Don't specify Ruby patch versions in Travis CI build configuration. Remove
228
+ the toil involved in keeping these up to date.
229
+
230
+ ### Removed
231
+
232
+ - Remove gem post-install message.
233
+
234
+ [2.1.2]: https://github.com/envato/pagerduty/compare/v2.1.1...v2.1.2
235
+ [#53]: https://github.com/envato/pagerduty/pull/53
236
+
237
+ ## [2.1.1] - 2018-03-06
238
+
239
+ ### Added
240
+
241
+ - Test against Ruby 2.4 and 2.5 in CI ([#51]).
242
+
243
+ ### Fixed
244
+
245
+ - Removed version restrictions on the `rubocop` development dependency, and
246
+ realigned code with the latest version. ([#51]).
247
+
248
+ ### Removed
249
+
250
+ - Ruby 1.9.3 and Ruby 2.0.0 from the CI build ([#51]).
251
+
252
+ [2.1.1]: https://github.com/envato/pagerduty/compare/v2.1.0...v2.1.1
253
+ [#51]: https://github.com/envato/pagerduty/pull/51
254
+
255
+ ## [2.1.0] - 2016-01-19
256
+
257
+ ### Added
258
+
259
+ - Rubocop configuration and align syntax ([#32], [#35], [#38], [#43]).
260
+
261
+ - Documentation describing how to resolve an existing incident ([#34]).
262
+
263
+ - Print Ruby warnings during the CI build ([#36]).
264
+
265
+ - Remove restrictions on `bundler` development dependency ([#37]).
266
+
267
+ - Test against Ruby 2.3 in CI ([#41]).
268
+
269
+ - Add support for HTTP proxy ([#47]).
270
+
271
+ ### Fixed
272
+
273
+ - `Pagerduty#get_incident` raises `ArgumentError` if the provided incident key
274
+ is `nil` ([#46]).
275
+
276
+ [2.1.0]: https://github.com/envato/pagerduty/compare/v2.0.1...v2.1.0
277
+ [#32]: https://github.com/envato/pagerduty/pull/32
278
+ [#34]: https://github.com/envato/pagerduty/pull/34
279
+ [#35]: https://github.com/envato/pagerduty/pull/35
280
+ [#36]: https://github.com/envato/pagerduty/pull/36
281
+ [#37]: https://github.com/envato/pagerduty/pull/37
282
+ [#38]: https://github.com/envato/pagerduty/pull/38
283
+ [#41]: https://github.com/envato/pagerduty/pull/41
284
+ [#43]: https://github.com/envato/pagerduty/pull/43
285
+ [#46]: https://github.com/envato/pagerduty/pull/46
286
+ [#47]: https://github.com/envato/pagerduty/pull/47
287
+
288
+ ## [2.0.1] - 2015-03-29
289
+
290
+ ### Added
291
+
292
+ - Moved specs to RSpec 3.0 ([#30]).
293
+
294
+ - Test against Ruby 2.2 in CI ([#31]).
295
+
296
+ ### Changed
297
+
298
+ - Rename `HttpTransport#send` to `httpTransport#send_payload`. This avoids
299
+ shawdowing `Object#send` ([#29]).
300
+
301
+ [2.0.1]: https://github.com/envato/pagerduty/compare/v2.0.0...v2.0.1
302
+ [#29]: https://github.com/envato/pagerduty/pull/29
303
+ [#30]: https://github.com/envato/pagerduty/pull/30
304
+ [#31]: https://github.com/envato/pagerduty/pull/31
305
+
306
+ ## [2.0.0] - 2014-05-26
307
+
308
+ ### Added
309
+
310
+ - The `description` argument in the `PagerdutyIncident#acknowledge` and
311
+ `PagerdutyIncident#resolve` methods is now optional. As specified by the
312
+ API ([#19]).
313
+
314
+ - YARD class and method documentation. In addition to updating the readme
315
+ ([#20]).
316
+
317
+ ### Changed
318
+
319
+ - `Pagerduty#trigger` arguments have changed to accept all available options
320
+ provided by the API, rather than just `details` ([#19]).
321
+
322
+ ```ruby
323
+ pagerduty.trigger(
324
+ "incident description",
325
+ incident_key: "my unique incident identifier",
326
+ client: "server in trouble",
327
+ client_url: "http://server.in.trouble",
328
+ details: {my: "extra details"},
329
+ )
330
+ ```
331
+
332
+ This is breaking in the case where providing a `details` hash:
333
+
334
+ ```ruby
335
+ # This no longer works post v2.0.0. If you're
336
+ # providing details in this form, please migrate.
337
+ pagerduty.trigger("desc", key: "value")
338
+
339
+ # Post v2.0.0 this is how to send details (migrate to this please).
340
+ pagerduty.trigger("desc", details: {key: "value"})
341
+ ```
342
+
343
+ - `Pagerduty` class initialiser no longer accepts an `incident_key`. This
344
+ attribute can now be provided when calling the `#trigger` method (see above)
345
+ ([#19]).
346
+
347
+ - `PagerdutyException` now extends from `StandardError` rather than
348
+ `Exception`. This may affect how you rescue the error. i.e. `rescue
349
+ StandardError` will now rescue a `PagerdutyException` where it did not
350
+ before ([#21]).
351
+
352
+ [2.0.0]: https://github.com/envato/pagerduty/compare/v1.4.1...v2.0.0
353
+ [#19]: https://github.com/envato/pagerduty/pull/19
354
+ [#20]: https://github.com/envato/pagerduty/pull/20
355
+ [#21]: https://github.com/envato/pagerduty/pull/21
356
+
357
+ ## [1.4.1] - 2014-05-21
358
+
359
+ ### Added
360
+
361
+ - Set HTTP open and read timeouts to 60 seconds ([#16]).
362
+
363
+ - Add tests and a CI build (TravisCI) ([#17]).
364
+
365
+ - Add `bundler`, `rake` and `rspec-given` as development dependencies ([#17]).
366
+
367
+ - Extract (private) `HttpTransport` class, for single responsibility and ease
368
+ of testing ([#18]).
369
+
370
+ ### Changed
371
+
372
+ - Raise errors instead of throwing them ([#17]).
373
+
374
+ ### Fixed
375
+
376
+ - Use the OS default `CA path` rather than explicitly setting one ([#18]).
377
+
378
+ [1.4.1]: https://github.com/envato/pagerduty/compare/v1.4.0...v1.4.1
379
+ [#16]: https://github.com/envato/pagerduty/pull/16
380
+ [#17]: https://github.com/envato/pagerduty/pull/17
381
+ [#18]: https://github.com/envato/pagerduty/pull/18
382
+
383
+ ## [1.4.0] - 2014-04-02
384
+
385
+ ### Added
386
+
387
+ - Support TLS to the Pagerduty API ([#14]).
388
+
389
+ [1.4.0]: https://github.com/envato/pagerduty/compare/v1.3.4...v1.4.0
390
+ [#14]: https://github.com/envato/pagerduty/pull/14
391
+
392
+ ## [1.3.4] - 2013-02-12
393
+
394
+ ### Fixed
395
+
396
+ - Update `Rakefile` to word with recent versions of RDoc
397
+
398
+ ### Changed
399
+
400
+ - Enforce `json` gem to versions 1.7.7 and above.
401
+
402
+ [1.3.4]: https://github.com/envato/pagerduty/compare/v1.3.3...v1.3.4
403
+
404
+ ## [1.3.3] - 2012-12-12
405
+
406
+ ### Changed
407
+
408
+ - Allow `json` gem versions 1.5 and above.
409
+
410
+ [1.3.3]: https://github.com/envato/pagerduty/compare/v1.3.2...v1.3.3
411
+
412
+ ## [1.3.2] - 2012-10-31
413
+
414
+ ### Fixed
415
+
416
+ - `details` are now correctly passed in the API call.
417
+
418
+ [1.3.2]: https://github.com/envato/pagerduty/compare/v1.3.1...v1.3.2
419
+
420
+ ## [1.3.1] - 2012-10-19
421
+
422
+ ### Fixed
423
+
424
+ - Consolidated all Pagerduty definitions to be a `class`.
425
+
426
+ [1.3.1]: https://github.com/envato/pagerduty/compare/v1.3.0...v1.3.1
427
+
428
+ ## [1.3.0] - 2012-10-18
429
+
430
+ ### Added
431
+
432
+ - Add ability to set the incident key via the initializer.
433
+
434
+ ### Changed
435
+
436
+ - Perform release with `bundler` instead of `jeweller`.
437
+ - Manage all gem dependencies in the gemspec file.
438
+ - Remove dependency on `curb`.
439
+
440
+ [1.3.0]: https://github.com/envato/pagerduty/compare/v1.1.1...v1.3.0
441
+
442
+ ## [1.1.1] - 2010-11-17
443
+
444
+ ### Fixed
445
+
446
+ - Specify `json` and `curb` gems as dependencies in the default gem group.
447
+
448
+ ### Added
449
+
450
+ - Prevent the `.bundle` directory from being added to the git repository.
451
+
452
+ [1.1.1]: https://github.com/envato/pagerduty/compare/v1.1.0...v1.1.1
453
+
454
+ ## [1.1.0] - 2010-11-16
455
+
456
+ ### Added
457
+
458
+ - New `Pagerduty#get_incident` method.
459
+
460
+ [1.1.0]: https://github.com/envato/pagerduty/compare/v1.0.1...v1.1.0
461
+
462
+ ## [1.0.1] - 2010-11-16
463
+
464
+ ### Fixed
465
+
466
+ - Specify `json` and `curb` gems as dependencies.
467
+
468
+ [1.0.1]: https://github.com/envato/pagerduty/compare/v1.0.0...v1.0.1
469
+
470
+ ## [1.0.0] - 2010-11-16
471
+
472
+ ### Added
473
+
474
+ - Library released as Open Source!
475
+
476
+ [1.0.0]: https://github.com/envato/pagerduty/releases/tag/v1.0.0