Skip to main content
Skip table of contents

Template Examples

If-else
XML
<!-- Checks a custom gender field and generates the salutation accordingly -->
{{#if (exists issue.customfield_11111.raw)}}
{{#eq issue.customfield_11111.raw "m"}} <!-- check for the specific field value "m" -->
Dear Sir
{{/eq}}
{{#eq issue.customfield_11111.raw "f"}} <!-- check for the specific field value "m" -->
Dear Madam
{{/eq}}
{{else}} <!-- if the field is empty -->
Dear Sir or Madam
{{/if}}
Compare values via OR
XML
{{#or (eq issue.priority.name "Medium") (eq issue.priority.name "High")}}
<!-- this will be executed if the issue's priority is either Medium or High -->
{{/or}}
Check if a value is set and NOT a specific value
XML
{{#and (exists issue.summary) (compare issue.summary != "Test")}}
<!-- this will be executed if the issue summary is set but different then "Test"-->
{{/and}}
Modify a datetime and compare it
XML
{{setVariable "14DaysAgo" (subtractDay now 14)}}
{{#if (isBeforeDay issue.created.raw 14DaysAgo)}}
<!-- this will be executed if the issue was created more than 14 days ago -->
{{/if}}
Loop over an array
XML
<!-- Prints all people watching the issue -->
{{#each issue.watchers}}
{{this.displayName}}
{{/each}}
Map an array's property to a new array and loop over it
XML
<!-- Prints all authors in the format "#. Name" -->
{{setVariable "commentAuthors" (pluck issue.comment "author.displayName")}}
{{#each (unique commentAuthors)}}
{{add @index 1}}. {{this}}
{{/each}}
Filter an array on a specific property
XML
<!-- Prints all comments from the issue's creator -->
<!-- for Jira DC it would be issue.creator.key // author.key -->
{{#filter issue.comment issue.creator.accountId prop="author.accountId"}}
Created: {{format this.created.raw "dateMed"}}
{{this.body}}

{{/filter}}
Look for first/last entry of an array
CODE
<!-- Prints the last comment of an issue -->
{{#withLast issue.comment}}
{{this.body}}

{{/withLast}}
CODE
<!-- Prints the filename of the first attachment of an issue -->
{{#withFirst issue.attachment}}
{{this.filename}}

{{/withFirst}}
Check on field values and print different outcomes
CODE
<!-- Returns depending on the value of a multiselectfield of an issue -->
{{#eq issue.customfield_11111 "Yes"}}

This is the Yes block
{{/eq}}

{{#eq issue.customfield_11111 "No"}}
This is the No block

{{/eq}}
Print only parts of an array
CODE
<!-- Prints only the first/last name of the assignee, instead of the whole name -->
{{{before (split issue.assignee ' ') 1}}}

{{{after (split issue.assignee ' ') 1}}}
Show me summaries of all linked issues / subtasks of an issue
CODE
<!-- Prints all issue summaries of linked issues -->
{{#each issue.issuelinks}}

{{this.inwardIssue.fields.summary}}

{{/each}}

<!-- Prints all subtasks of an issue -->

{{#each issue.subtasks}}

{{this.fields.summary}}

{{/each}}
Abbreviate/remove parts of a name
CODE
<!-- Removes "Companyname" from every reporters name, to print only the Name  -->
{{remove issue.reporter “Companyname”}}
Loop over an array and sort it
CODE
<!-- Print out all comments and sort them so the most recent will be toplevel -->
{{setVariable "YourVariableName" (sortBy issue.comment created)}}

{{#each YourVariableName}}
{{this.body}}
{{/each}}
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.