Email this issue gives you full control in formatting date and time values in your email templates. Email This Issue provides a component that you can use in the email templates. It is called $!jetiFieldFormatter.
View methods of this component in Velocity Context in Email Rendering.
Formatting is done in two steps:
- create a formatter object
- format the date or date time values using the created formatter
Create Jira Formatter
Create a Jira formatter in your template:
#set($formatter = $!jetiFieldFormatter.getJiraDateTimeFormatter(<date time style name>))
<date time style name> may be any of the following:
- empty: if called without a parameter, getJiraDateTimeFormatter() returns the default Jira date time formatter
- name of a prefined style in DateTimeStyle: e.g. $!jetiFieldFormatter.getJiraDateTimeFormatter("COMPLETE") returns a Jira formatter for the COMPLETE style
Create Java Formatter
There are multiple ways to create Java date formatter.
#set($formatter = $!jetiFieldFormatter.getJavaDateFormat(<date format style number>, <locale string>))
<date format style number> may be any of the following:
- empty: if called without parameters getJavaDateFormat() returns the default Java formatter
- value of a date format style constant in DateFormat: e.g. $!jetiFieldFormatter.getJavaDateFormat(1) returns a DateFormat instance for the DateFormat.LONG style.
<locale string>: Java string representation of a Locale, always use language and country, like "en_GB" or "de_DE" or "hu_HU". This parameter is optional. If not provided, user's default locale will be used.
#set($formatter = $!jetiFieldFormatter.getJavaDateTimeFormat(<date type pattern>))
<date time pattern> can be a valid pattern according to Java SimpleDateFormat specification.
E.g. a pattern of "dd/MM/yyyy HH:mm" returns a formatter that formats the timestamp of May 31, 2015 1:35pm as "31/05/2015 13:35".
Format Values
Once we have a formatter, date or date time field values can be formatted as shown below.
$!jetiFieldFormatter.formatSafely($formatter,<date time value>)
<date time value> may be either:
- Issue attribute, like $!issue.created or $!issue.updated
- Issue custom field: $!issue.getCustomFieldValue("customfield_12345"), where "customfield_12345" is the custom field key of a Date Picker or DateTime Picker field. Calling the formatter with a non-date value will render an empty string