class PagerDuty::Incident

Attributes

event[RW]
resolver[RW]
service[RW]
status[RW]
trigger[RW]

Public Class Methods

new(incident) click to toggle source
Calls superclass method Report::Item::new
# File lib/pagerduty_tools/pagerduty.rb, line 210
def initialize(incident)
  super(Time.xmlschema(incident['created_on']))
  @status  = incident['status']
  @service = incident['service']['name']
  @trigger = incident['trigger_details']
  @event   = incident['trigger_details']['event']

  if status == 'resolved'
    if incident['resolved_by'].nil? # nil resolvers are automatic, e.g. Nagios
      @resolver = "[Automatic]"
    else
      @resolver = incident['resolved_by']['name']
    end
  end
end

Public Instance Methods

resolved?() click to toggle source
# File lib/pagerduty_tools/pagerduty.rb, line 226
def resolved?
  status == 'resolved'
end
trigger_name() click to toggle source
# File lib/pagerduty_tools/pagerduty.rb, line 230
def trigger_name
  if trigger['type'] == 'nagios_trigger'
    return "#{service}: #{event['host']} - #{event['service']}"
  else
    return "#{service}: #{event['description']}"
  end
end