Groovy Template is a templating engine for JavaScript. It lets you insert dynamic content into any text through the use of templates. A template contains variables and/or expressions, which get replaced with values when a template is rendered. This is very similar to JSP markup.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<%= issue.getKey() %> |
For single-statement expressions, you can also use the following shortcut:
Code Block |
---|
${issue.getKey()} |
To simply execute a Groovy code and not output the result, write your Groovy code as <% some Groovy code %
>. For example:
...
$currentUser.name
returns the name username of the ApplicationUser
However, calling methods is not supported:
$currentUser.getName()
returns an error current user
To call a method on the variable, use ${variable.method()}
:
${currentUser.getName()}
also returns the username of the current user
Groovy template examples
Write the issue key as a comment to the issue:
Code Block | ||||
---|---|---|---|---|
| ||||
Issue key: <%= ${issue.get("issuekey") %>} |
Comment an issue based on the priority of the issue:
...
To send an Email to the Voters and Watchers of the issue when the issue is resolved, write this as the Subject of the Email (note that we mixed <%= %>
and ${}
expressions only to show how both are valid):
Code Block | ||||
---|---|---|---|---|
| ||||
Hi All, <% if (issue.assignee) {%> The issue <%= issue.key%> has been resolved by <%=issue.assignee.assignee%>displayName%> <%} else {%> The issue <%= ${issue.key%>key} has been resolved <%}%> Regards, <%=issue.get("project")?.getLead()?.getDisplayName()%> |
...