Working With Escalations

Assume that when you raise a particular alert, you want RunMyJobs to automatically notify a particular person. Furthermore, if that person is on vacation or doesn't respond promptly, you want to forward the issue to a different person so that they can follow up on it. This is an example of a situation where you might want to use escalations.

An escalation is basically just a named object that contains the following things:

  • The address of a person to be notified.

  • A delay, to give that person a chance to respond to the alert.

  • A reference to another escalation, to be used if nobody responds within the time specified by the delay.

  • An optional post-alert script to be executed after the escalation is triggered.

You can specify an initial escalation when you create an alert source, and that escalation can then trigger other escalations.

Note: When a condition specified in an alert source does not match an escalation, then no alert is sent.

Note: It is possible to create escalation loops. Redwood recommends that you add a delay of at least one minute between escalations to avoid overloading your mail server or clients.

Creating an Escalation

To create a simple escalation:

  1. Navigate to Alerting > Alert Escalations.
  2. Click .
  3. Enter a Name, and optionally a Description and/or Application.
  4. Enter the address of the recipient in the Address field.
  5. Enter a Delay for RunMyJobs to wait before escalating the issue further. The alert will be forwarded to the next escalation after this amount of time.
  6. Select or create a Default Alert Escalation or create an Escalation Expression. The Escalation Expression field supports ${variable} substitutions and Redwood Expression Language syntax. If you specify an Escalation Expression, the Default Alert Escalation is ignored.
  7. Click Save & Close.

Deleting Alert Escalations

You can delete alert escalations only if no other objects relate to them. For example, if there are process alert sources that use an escalation, the escalation cannot be deleted until all process alert sources that use it have been modified. You can see all process alert sources that relate to an escalation under Related Objects in the Detail View.

Example Escalations

The following examples demonstrate how to configure escalations.

Three-stage Escalation

In this example, an alert source has a Default Alert Escalation named StageOne. StageOne, in turn, has a Default Escalation of StageTwo, and StageTwo has a Default Escalation of StageThree. When an issue occurs (as defined in the alert source), an Operator Message is created (as defined in the alert source), and an email is immediately sent to duty-operator@example.com. If that person doesn't get the email or doesn't respond to the Operator Message within 15 minutes, an email is sent to backup-operator@example.com. After that, the issue is escalated to it-manager@example.com.

Three-stage Escalation with Loop

This example is the same as the last one, except for the fact that the StageThree escalation points to itself as the next Default Escalation. As a result, an email is sent to it-manager@example.com every five minutes until the Operator Message is acknowledged.

The following context menu actions are specific to escalations.

Note: For generally applicable object context menu options, see Object Context Menu.

Action Description
Show diagram Displays the escalation's dependencies in a diagram.

Alert Escalation Actions

The Actions tab for an escalation lets you specify a RedwoodScript script to be executed after the escalation is raised. You can use the following objects in such a script.

Object Class Example Code
jcsOutLog com.redwood.scheduler.infrastructure.logging.api.Logger jcsOutLog.info("This is an informational message");
jcsAlertEscalationPostAlertContext com.redwood.scheduler.api.scripting.variables.AlertEscalationPostAlertActionScriptObject jcsAlertEscalationPostAlertContext.isResend()
jcsSession com.redwood.scheduler.api.model.SchedulerSession jcsSession.getQueueByName("PRD_Queue");

Note: The jcsSession object is available only if you have specified an Action Subject.

Security

The privileges available in the Security tab are as follows.

For more information, see Security Tab.

Privilege Description
AlertEscalation.Create Create alert escalations
AlertEscalation.Delete Delete alert escalations
AlertEscalation.Edit Edit alert escalations
AlertEscalation.View Access alert escalations