PagerDuty Elixir v0.0.1 PagerDuty.Incident

An incident is a normalized, de-duplicated event generated by a PagerDuty integration.

It can be thought of as a problem or an issue within your service that needs to be addressed and resolved.

Incidents can be triggered, acknowledged, or resolved, and are assigned to a user based on the service’s escalation policy.

A triggered incident prompts a notification to be sent to the currently on-call user(s) as defined in the escalation policy used by the service.

Incidents are triggered through the Events API.

Updates to an incident generate log entries that capture the changes to an incident over time, whether these changes were prompted by a user, an integration, or were performed automatically.

Read more about incidents in the PagerDuty Knowledge Base.

Attributes

  • @id: id
  • @summary: A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to name, though it is not intended to be an identifier.
  • @type: either incident or incident_reference
  • @self: the API show URL at which the object is accessible
  • @html_url: a URL at which the entity is uniquely displayed in the Web app
  • @incident_number: The number of the incident. This is unique across your account.
  • @created_at: The date/time the incident was first triggered.
  • @status: The current status of the incident. valid options are:

    • triggered
    • acknowledged
    • resolved
  • @title: A succinct description of the nature, symptoms, cause, or effect of the incident.
  • @pending_actions: The list of pending_actions on the incident. A pending_action object contains a type of action which can be escalate, unacknowledge, resolve or urgency_change. A pending_action object contains at, the time at which the action will take place. An urgency_change pending_action will contain to, the urgency that the incident will change to.
  • @incident_key: The incident’s de-duplication key.
  • @service: The service that the incident belongs to.
  • @assignments: List of all assignments for this incident.
  • @acknowledgements: List of all acknowledgements for this incident.
  • @last_status_change_at: The time at which the status of the incident last changed.
  • @last_status_change_by: The user or service which is responsible for the incident’s last status change. If the incident is in the acknowledged or resolved status, this will be the user that took the first acknowledged or resolved action. If the incident was automatically resolved (say through the Events API), or if the incident is in the triggered state, this will be the incident’s service.
  • @first_trigger_log_entry: The first trigger log entry for the incident.
  • @escalation_policy: The escalation policy that the incident is currently following.
  • @teams: The list of teams involved in the incident’s lifecycle.
  • @urgency: The current urgency of the incident. valid options are:

    • high
    • low
  • @resolve_reason: The reason the incident was resolved. Currently the only valid values are nil and merged with plans to introduce additional reasons in the future.
  • @alert_counts: A summary of the number of alerts by status.
  • @body: String describing the incident

Summary

Types

t()
t() :: %PagerDuty.Incident{acknowledgements: term, alert_counts: %PagerDuty.AlertCount{all: term, resolved: term, triggered: term}, assignments: [%PagerDuty.Assignment{assignee: term, at: term}], body: %PagerDuty.IncidentBody{html_url: term, id: term, self: term, summary: term, type: term}, created_at: String.t | nil, escalation_policy: %PagerDuty.EscalationPolicy{description: term, escalation_rules: term, html_url: term, id: term, name: term, num_loops: term, repeat_enabled: term, self: term, services: term, summary: term, teams: term, type: term}, first_trigger_log_entry: %PagerDuty.LogEntry{agent: term, channel: term, contexts: term, created_at: term, event_details: term, html_url: term, id: term, incident: term, note: term, self: term, service: term, summary: term, teams: term, type: term}, html_url: String.t, id: String.t, incident_key: String.t | nil, incident_number: non_neg_integer, last_status_change_at: String.t | nil, last_status_change_by: %PagerDuty.Agent{html_url: term, id: term, self: term, summary: term, type: term}, pending_actions: [%PagerDuty.IncidentAction{html_url: term, id: term, self: term, summary: term, type: term}], resolve_reason: %PagerDuty.ResolveReason{html_url: term, id: term, self: term, summary: term, type: term}, self: String.t, service: %PagerDuty.Service{acknowledgement_timeout: term, addons: term, alert_creation: term, auto_resolve_timeout: term, created_at: term, description: term, escalation_policy: term, html_url: term, id: term, incident_urgency_rule: term, integrations: term, last_incident_timestamp: term, name: term, scheduled_actions: term, self: term, status: term, summary: term, support_hours: term, teams: term, type: term}, status: String.t, summary: String.t, teams: [%PagerDuty.Team{html_url: term, id: term, self: term, summary: term, type: term}], title: String.t, type: String.t, urgency: String.t | nil}

Functions

new(addon)