Use Replacement Syntax

General: Using a ! after the $ prevents the variable from being printed if it's empty.

In the templates and the JQL, you can use the following objects:

ObjectUsage
$issue
  • $issue.summary
  • $issue.description
  • $issue.getReporterUser().getDisplayName()
  • $issue.getFixVersions().iterator().next()
  • $issue.getIssueTypeObject().getName()
$customfield_10500 (all customfields)
  • $issue.getCustomFieldValue($customfield_10500)
  • $issue.getCustomFieldValue($customfield_10200).getDisplayName()
$fieldHelper
  • $fieldHelper.getValueAsString("components")
  • $fieldHelper.getValueAsString("fixVersions")
  • $fieldHelper.getValueAsString("customfield_10200")
  • $fieldHelper.getDateOnlyAsString($issue.created)
  • $fieldHelper.getDateWithFormat($issue.created, "yyMMdd")
  • $fieldHelper.getDateTimeAsString($issue.getCustomFieldValue($customfield_10500))
$customFieldManager
$stringUtils
$textUtils

How to get the values of standard fields:

FieldUsage
affectedVersions$!fieldHelper.getValueAsString("affectedVersions")
assignee$!fieldHelper.getValueAsString("assignee")
components$!fieldHelper.getValueAsString("components")
created$!fieldHelper.getValueAsString("created")
creator$!fieldHelper.getValueAsString("creator")
description$!fieldHelper.getValueAsString("description")
dueDate$!fieldHelper.getValueAsString("dueDate")
environment$!fieldHelper.getValueAsString("environment")
estimate$!fieldHelper.getValueAsString("estimate")
fixVersions$!fieldHelper.getValueAsString("fixVersions")
id$!fieldHelper.getValueAsString("id")
issueType$!fieldHelper.getValueAsString("issueType")
key$!fieldHelper.getValueAsString("key")
labels$!fieldHelper.getValueAsString("labels")
originalEstimate$!fieldHelper.getValueAsString("originalEstimate")
priority$!fieldHelper.getValueAsString("priority")
project$!fieldHelper.getValueAsString("project")
reporter$!fieldHelper.getValueAsString("reporter")
resolution$!fieldHelper.getValueAsString("resolution")
resolutionDate$!fieldHelper.getValueAsString("resolutionDate")
securityLevel$!fieldHelper.getValueAsString("securityLevel")
status$!fieldHelper.getValueAsString("status")
summary$!fieldHelper.getValueAsString("summary")
timeSpent$!fieldHelper.getValueAsString("timeSpent")
updated$!fieldHelper.getValueAsString("updated")
votes$!fieldHelper.getValueAsString("votes")
watches$!fieldHelper.getValueAsString("watches")

In the JQL query, you can use variables in replacement syntax, e.g. $!fieldHelper.getValueAsString("components").

Using this syntax, you can also query for metadata provided by the Project Metadata app.