What are template variables?
FireHydrant uses the Liquid templating language. A templating language enables you to define placeholders that will at some point be replaced with specific data. You can use template variables to reference many different types of incident data, such as:
Template variables in Runbooks
In FireHydrant, you can use template variables to mark a place inside of a Runbook where, when the Runbook step is executed, data specific to the incident will be used. You may be familiar with these variables if you’ve created Runbooks for your organization. In a Runbook, you can make references to incidents, or different parts of incidents, using template variables. For example, take a look at the FireHydrant API. Every item on the incident entity is available as a variable.
You can see the variables available for use in Runbooks in this fully editable liquid playground or through the API endpoint for an incident.
For example, in a Runbook step, you can reference a variable for a particular incident starting with the header key of “incident.” So to create a variable inside of a Runbook step that uses the incident name and description, you would use {{ incident.name }}
and {{ incident.description }}
in the fields inside of your Runbook step.
To minimize impact to your instance through repeated test incidents, we recommend testing these template variables using the liquid playground.
Available fields and definitions
This list includes the properties in the FireHydrant API that are most often used as template variables. (To see all of the FireHydrant API properties, refer to the FireHydrant API documentation.).
All left-most fields are accessible under the main incident
object with {{ incident.VAR }}
, where VAR
is the name of the field.
Every field is a String key, an object with String keys, or an array of objects with String keys unless denoted otherwise. Arrays are clearly marked.
General Incident Fields
id
: The ID number of the incident. You can use this as a template variable inside of a Runbook with the format `app.firehydrant.io/incidents/{{incident.id}}`
.
name
: The name of the incident.
created_at
: The UTC time when the incident was created.
started_at
: The UTC time of the started milestone.
summary
: Summary of the incident.
customer_impact_summary
: Summary of the impact of the incident on customers.
description
: A more detailed description of the incident.
current_milestone
: The current milestone state of the incident.
number
: The number of the incident. This number increments with each additional incident that is created.
severity
: The current severity of the incident.
severity_impact
: Do not use; deprecated.
severity_condition
: Do not use; deprecated.
tag_list
: The array of tags attached to the incident.
private_id
: The ID of the private incident status page.
organization_id
: The customer organization ID.
incident_roles
: The current users assigned to the incident with their correlated incident roles.
last_update
*: The most recent incident update added via add note
. This field has been marked for deprecation. Please use last_note.body
instead.
last_note
(object):
body
: The most recent incident update added via add note
or update
.
created_at
: UTC for the most recent incident update added via add note
or update
.
created_by
(object):
id
: ID of the user who declared the incident.
name
: Name of the user who declared the incident.
source
: Where the user declared the incident (for example, firehydrant_user or slack).
email
: Email address for the user who declared the incident.
report_id
: This only shows for resolved incidents; the ID identifies the incident retro.
incident_url
: The url for the incident overview page in FireHydrant.
*Note: incident.last_update
will be deprecated in favor of incident.last_note.body
at the end of June 2022. We ask that all customers migrate to the new fields.
Milestone Fields
milestones
(array of objects):
id
: The ID of the milestone occurrence for this incident.
created_at
: The time when the milestone was created.
updated_at
: The time when the milestone was updated.
type
: The milestone type. Available values are listed here.
occurred_at
: When the milestone became active.
duration
: The duration of time between when this milestone occurred and when the previous milestone occurred.
active
: If the incident is in any milestone state earlier than resolved, this value will be true, otherwise it will be false.
Role and User Assignment Fields
role_assignments
(array of objects):
id
: A database ID for the assignment of the role to the inicident.
status
: The status of the role assignment (active or inactive).
created_at
: When the role was assigned.
updated_at
: When the role was updated.
incident_role
(object):
id
: The ID for the specific incident role.
name
: The name of the incident role.
summary
: A short summary of the incident role.
description
: A longer description of the incident role.
updated at
: When the incident role was updated.
discarded at
: When the incident role was discarded.
user
(object):
id
: The ID for the user in this specific role.
name
: The user's name.
email
: Email address of the user.
created_at
: When the user was created.
updated_at
: When the user was updated.
slack_linked
: Indicates whether this user's Slack account is linked to FireHydrant.
Organization Fields
organization
(object):
id
: The ID of the customer organization
name
: The name of the customer organization
Service-Related Fields
services
(array of objects):
id
: The ID of the impacted service
name
: The name of the impacted service
functionalities
(array of objects):
id
: The ID of the impacted functionality
name
: The name of the impacted functionality
environments
(array of objects):
id
: The ID of the impacted environment
name
: The name of the impacted environment
Integrations-Related Fields
channel_name
: The name of the Slack channel for the incident.
channel_reference
: The Slack-formatted encoded link for the Slack channel. You can use this reference number in a Slack message to create a link to the incident channel.
channel_ID
: The Slack ID for the channel (not formatted for creating links).
channel_status
: Indicates whether the Slack channel is operational.
incident_tickets
(array of objects):
id
: The incident ticket ID.
summary
: Summary of information in the ticket.
Description
: Description of the incident as provided in the ticket.
state
: State of the ticket: open, in_progress, done, etc.
type
: Ticket type: Incident, follow_up, or task.
assignees
: The incident ticket ID.
created_by
(object):
id
: ID of the user who created the ticket.
name
: Name of the user who created the ticket.
source
: Ticketing source: Slack, PagerDuty, FireHydrant, etc.
email
: Email address for the user who created the ticket.
attachments
(array of objects):
type
: Attachment type: image, alert, etc.
display_text
: The text displayed that links to the ticket.
href_url
: The URL for the ticket.
icon_url
: The URL for the icon of the ticketing provider.
conference_bridges
(object):
id
: UUID of the conference object as stored on FireHydrant (not the Zoom/Google Meet ID)
attachments
(array of objects):
type
: Attachment type: image, alert, etc.
display_text
: The text displayed describes the conference bridge.
href_url
: The URL for the conference bridge (for example, https://us02web.zoom.us/j/123456789012).
icon_url
: The URL for the icon of the conference bridge provider.
private_status_page_url
: The url for the private status page pertaining to the incident.
Retrospective Fields
The retro
data object is only available after an incident has moved to the 'retrospective started' milestone. This object can be directly referenced like incident, for example {{ retro.name }}
.
retro
(object):
name
: The name of the report
published_at
: When the retro was completed
questions
(array of objects): An array of custom questions set from the Retrospective Configuration tab
title
: The title of the question
body
: The answer to the question
updated_at
: When the question was last updated
contributing_factors
(array of objects): An array of the Five Whys section in contributing factors
summary
: The content of the contributing factor
position
: The position in the list of Five Whys
incident_active_duration
: The duration that the incident was in an active state. Active is defined as the Started through Mitigated milestone
starred_events
(array of objects): An array of the starred events from the incident
occurred_at
: When the event occurred
created_by
: Who created the event
summary
: The content of the contributing factor
body
: The content of the event