As of version 9.0.0, generic SLA Notifier settings are moved to the General tab under Settings.

SLA Notifiers can be configured to notify relevant people before or after the breach. Notifier can be chosen to work with SLAs' working calendar. It also can be enabled to work as a recurring notifier.




Email subject and body can be fully dynamic, as described in this section.


Parameters that can be passed to SLA Notifier  are listed below.

ParameterTypeDescription
${slaDescription}StringName of the SLA
${slaValue}StringSLA value as a time string
${slaStartDate}StringStart time of the SLA
${slaEndDate}StringEnd time of the SLA
${slaNotifyBefore}StringNotify before parameter in notification settings
${originStatus}StringOrigin status name, null if origin is not set by status
${targetStatus}StringTarget status name, null if target is not set by status
${slaExceeded}Boolean

Indicates whether or not SLA is exceeded (v7.1.0+)

#if(${slaExceeded})You missed SLA deadline#end


${slaRemainingTime}StringRemaining duration of SLA (e.g. 1h 30m) (v7.1.0+)
${slaOverdue}StringOverdue duration of SLA (e.g. 1d 10h) (v7.1.0+)
${issue}IssueIssue object to retrieve various issue attributes (e.g. ${issue.summary} )
${customFieldManager}CustomFieldManager

CustomFieldManager could be used to insert custom field values into email text

${issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_11100'))


${dateTool}DateTool

DateTool could be used to format dates. (v7.7.0+)

$dateTool.format('d-M-yyyy H:m:s', ${issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_11201'))})


${dateTimeFormatter}DateTimeFormatter

DateTimeFormatter could be used to format dates with pre-defined formats in JIRA. (v7.7.0+)


$dateTimeFormatter.formatDMYHMS(${issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_11201'))})
$dateTimeFormatter.format(${issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_11201'))})




 Many times custom fields or other fields on the issue might have a null value resulting in variable names displayed in e-mail content. To prevent this simply put an ! after $ sign on variable name like this:

 $!{issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_11100'))}



You can change timezone of the dateTimeFormatter provided in notifier context. 

  1. Copy following code block into your notifier content:
#set( $tz = $dateTool.getTimeZone().getTimeZone("IST"))
#set( $zonedFormatter = $dateTimeFormatter.withZone($tz))	
#set( $date = $issue.created) 
Created Date: ${zonedFormatter.format($date)}<br>

2. Change IST with any timezone you would like to apply. Find list of all available time zones here.

3. Change $date with any date you would like to format. 

4. You can also apply custom time formats with zonedFormatter as usual.


In the following part, recipients (assignee, reporter, component leads, project lead, project role members, group members or even email addresses) can be configured. 


There is a 'Preview' button to test the email template, type sample issue key and press the button.

You can define multiple SLA notifiers per SLA.



In Time to SLA notifier templates you can use many powerful features of Velocity templating engine such as loops, if/else conditions etc. Refer to official Velocity guide for more details.

Here is an example of how you can iterate over the selected users in a multiple user picker custom field and displaying their real names:


#set( $users = $!{issue.getCustomFieldValue($customFieldManager.getCustomFieldObject('customfield_10300'))})

Custom Field (Multiple user picker):
#foreach( $user in $users )
  $user.displayName#if( $velocityHasNext ),#end
#end