getSituationDetailsForAlert
A Workflow Engine function that retrieves the specified Situation attributes for the Situation that the triggering alert belongs to, and writes these details into the WorkflowContext for use in subsequent actions.
This function uses the alerts Active Situations list (active_sig_list
). For each active Situation in the list, it will create a corresponding entry in workflowContext.situationDetails
.
This function is available as a feature of the Add-ons v2.4 download and later.
This function is available for alert workflows.
Back to Workflow Engine Functions Reference.
Accessing Details With workflowContext
workflowContext.situationDetails
will always be a list (an array). Situation details will be added to this list according to their Situation ID, starting from the lowest first.
The details of an alert in a single Situation can be accessed in subsequent actions using a reference of:
$(workflowContext.situationDetails[0].<name>)
where <name>
is the name of the Situation attribute you want to reference.
For example, to get the Situation ID (sig_id
) of the Situation you would use:
$(workflowContext.situationDetails[0].sig_id)
The list of attributes to retrieve is defined using the macro/substitution syntax. For example, to retrieve the description, moderator username and textual severity, you would use the following syntax:
[ "$(description)", "$EXPAND(moderator_id)", "$EXPAND(internal_priority)"]
Note
Entries in the details list that do not conform to the macro/substitution syntax will be ignored.
Arguments
Workflow Engine function getSituationDetailsForAlert
takes the following arguments:
Name | Required | Type | Description |
---|---|---|---|
details | yes | object | A list of substitution syntax attributes to retrieve for the active Situations for the alert.
|
Example
The following example demonstrates typical use of Workflow Engine function getSituationDetailsforAlert
.
Given an alert, we want to retrieve the following attributes for its active Situations:
description
moderator_id
as a usernameseverity
as a textual namecustom_info.situationClass
The details parameter would contain:
{"details":["$(custom_info.situationClass)","$EXPAND(moderator_id)","$EXPAND(internal_priority)","$(description)"]}
This would produce a workflowContext
containing:
{ "situationDetails": [ { "custom_info": { "situationClass" : "DefaultCookbook.sameSource" }, "moderator_id": "admin", "internal_priority": 2, "description": "Topology based : Affecting 8 hosts. ", "sig_id": 470 } ] }