Class: Pagerduty::EventsApiV2::Incident
- Inherits:
-
Object
- Object
- Pagerduty::EventsApiV2::Incident
- Defined in:
- lib/pagerduty/events_api_v2.rb
Instance Attribute Summary collapse
-
#incident_key ⇒ Object
readonly
Returns the value of attribute incident_key.
Instance Method Summary collapse
-
#acknowledge ⇒ Pagerduty::EventsApiV2::Incident
Acknowledge the referenced incident.
-
#initialize(config = {}) ⇒ Incident
constructor
A new instance of Incident.
-
#resolve ⇒ Pagerduty::EventsApiV2::Incident
Resolve the referenced incident.
-
#trigger(details) ⇒ Object
Send PagerDuty a trigger event to report a new or ongoing problem.
Constructor Details
#initialize(config = {}) ⇒ Incident
Returns a new instance of Incident.
153 154 155 156 157 158 159 160 161 162 |
# File 'lib/pagerduty/events_api_v2.rb', line 153 def initialize(config = {}) @integration_key = config.fetch(:integration_key) do raise ArgumentError "integration_key not provided" end @incident_key = config[:incident_key] @transport = Pagerduty::HttpTransport.new( path: "/v2/enqueue", proxy: config[:http_proxy], ) end |
Instance Attribute Details
#incident_key ⇒ Object (readonly)
Returns the value of attribute incident_key.
140 141 142 |
# File 'lib/pagerduty/events_api_v2.rb', line 140 def incident_key @incident_key end |
Instance Method Details
#acknowledge ⇒ Pagerduty::EventsApiV2::Incident
Acknowledge the referenced incident. While an incident is acknowledged, it won’t generate any additional notifications, even if it receives new trigger events. Send PagerDuty an acknowledge event when you know someone is presently working on the problem.
230 231 232 233 |
# File 'lib/pagerduty/events_api_v2.rb', line 230 def acknowledge api_call("acknowledge") self end |
#resolve ⇒ Pagerduty::EventsApiV2::Incident
Resolve the referenced incident. Once an incident is resolved, it won’t generate any additional notifications. New trigger events with the same incident_key as a resolved incident won’t re-open the incident. Instead, a new incident will be created. Send PagerDuty a resolve event when the problem that caused the initial trigger event has been fixed.
246 247 248 249 |
# File 'lib/pagerduty/events_api_v2.rb', line 246 def resolve api_call("resolve") self end |
#trigger(details) ⇒ Object
Send PagerDuty a trigger event to report a new or ongoing problem. When PagerDuty receives a trigger event, it will either open a new incident, or add a new trigger log entry to an existing incident, depending on the incident key.
208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/pagerduty/events_api_v2.rb', line 208 def trigger(details) if details.key?(:dedup_key) || details.key?(:incident_key) raise ArgumentError, "incident_key or dedup_key provided, "\ "please use the EventsApiv2::incident method "\ "to specify an incident key" end response = api_call("trigger", trigger_request(details)) @incident_key = response["dedup_key"] self end |