Variables
A variable looks up a value from the template context. If you want to insert the value of a variable in your template, you can use the following syntax: {{ myVar }}
. This looks up for the myVar
variable from the context and displays it. Variable names can have dots in them which look up properties, just like in javascript.
Variables available in JMWE
JMWE makes the issue, transition, linkedIssue, parentIssue, now
and currentUser
variables available to templates. You can access their properties using "." or "[ ]". For example, you can access the current issue key using {{issue.key}}
.
issue variable
The issue
variable is used to insert data of the issue being transitioned. You can access the issue data by looking up at its properties.
For example:
{{issue.fields.labels}}
returns an array of label values, e.g. [ "1", "2" ]
{{issue.fields.reporter.name}}
returns the username of the reporter, e.g. carter
Click here to see some properties of the issue variable
Properties | Description |
---|
issue.id | Internal Id number of the issue |
issue.key | Issue key |
issue.fields.summary | Issue summary |
issue.fields.description | Issue description |
issue.fields.issuetype.name | Issue type |
issue.fields.issuetype.description | Issue type description |
issue.fields.creator.name | Username of the person who created the issue |
issue.fields.creator.emailAddress | Email address of the person who created the issue |
issue.fields.creator.displayName | Displays name of the person who created the issue |
issue.fields.creator.timeZone | Time zone of the creator |
issue.fields.reporter.name | Username of the person who reported the issue |
issue.fields.reporter.emailAddress | Email address of the person who reported the issue |
issue.fields.reporter.displayName | Display name of the person who reported the issue |
issue.fields.reporter.timeZone | Time zone of the reporter |
issue.fields.assignee.name | Username of the person assigned to the issue |
issue.fields.assignee.emailAddress | Email address of the person assigned to the issue |
issue.fields.assignee.displayName | Display name of the person assigned to the issue |
issue.fields.assignee.timeZone | Time zone of the assignee |
issue.fields.created | Date and time the issue was created |
issue.fields.updated | Date and time the issue was last updated |
issue.fields.priority.name | Issue priority name |
issue.fields.project.name | Issue project name |
issue.fields.project.key | Issue project key |
issue.fields.lastViewed | Date and time the issue was last viewed by the current user |
issue.fields.fixVersions[0].name | Name of the first fix Version/s |
issue.fields.fixVersions[0].description | Description of the first fix Version/s |
issue.fields.fixVersions[0].releaseDate | Release date of the first Fix Version/s |
issue.fields.versions[0].name | Name of the first Affects Version/s |
issue.fields.versions[0].description | Description of the first Affects Version/s |
issue.fields.versions[0].releaseDate | Release date of the first Affects Version/s |
issue.fields.components[0].name | Name of the first component |
issue.fields.components[0].description | Description of the first component |
issue.fields.duedate | Due date of the issue |
issue.fields.timespent | Time spent on the issue |
issue.fields.timeoriginalestimate | The original estimate of the time required to resolve the issue |
issue.fields.resolution.name | Resolution of the issue |
issue.fields.watches.watchcount | The number of people watching the issue |
issue.fields.labels | Labels the issue relates to |
issue.fields.environment | The hardware or software environment the issue relates to |
issue.fields.votes | The number of votes an issue has |
transition variable
The transition
variable is used to insert information of the transition being executed.
For example:
{{transition.transitionName}}
returns the name of the transition, e.g. Start Progress
{{transition.to_status}}
returns the status of the transition, e.g. In Progress
Click here to see the properties of the transition variable
Properties | Description |
---|
transition.transitionName | Name of the current transition |
transition.transitionId | Numerical ID of the current transition |
transition.from_status | Source status of the transition |
transition.to_status | Destination status of the transition |
transition.workflowName | Name of the current workflow |
transition.workflowId | Numerical ID of the current workflow |
linkedIssue variable
The linkedIssue
variable, which is only available from post-functions that work on linked issues, is used to insert data of the linked issue being processed by the post-function.
For example:
{{linkedIssue.fields.description}}
returns the description of the linked issue being processed.
Click here to see the properties of the linkedIssue variable
Properties | Description |
---|
linkedIssue.id | Internal Id number of the linked issue |
linkedIssue.key | Linked issue key |
linkedIssue.fields.summary | Linked issue summary |
linkedIssue.fields.description | Linked issue description |
linkedIssue.fields.issuetype.name | Linked issue type |
linkedIssue.fields.issuetype.description | Linked issue Issue type description |
linkedIssue.fields.creator.name | Username of the person who created the linked issue |
linkedIssue.fields.creator.emailAddress | Email address of the person who created the linked issue |
linkedIssue.fields.creator.displayName | Displays name of the person who created the linked issue |
linkedIssue.fields.creator.timeZone | Time zone of the creator |
linkedIssue.fields.reporter.name | Username of the person who reported the linked issue |
linkedIssue.fields.reporter.emailAddress | Email address of the person who reported the linked issue |
linkedIssue.fields.reporter.displayName | Display name of the person who reported the linked issue |
linkedIssue.fields.reporter.timeZone | Time zone of the reporter |
linkedIssue.fields.assignee.name | Username of the person assigned to the linked issue |
linkedIssue.fields.assignee.emailAddress | Email address of the person assigned to the linked issue |
linkedIssue.fields.assignee.displayName | Display name of the person assigned to the linked issue |
linkedIssue.fields.assignee.timeZone | Time zone of the assignee |
linkedIssue.fields.created | Date and time the linked issue was created |
linkedIssue.fields.updated | Date and time the linked issue was last updated |
linkedIssue.fields.priority.name | Linked Issue priority name |
linkedIssue.fields.project.name | Linked Issue project name |
linkedIssue.fields.project.key | Linked Issue project key |
linkedIssue.fields.lastViewed | Date and time the linked issue was last viewed by the current user |
linkedIssue.fields.fixVersions[0].name | Name of the first Fix Version/s |
linkedIssue.fields.fixVersions[0].description | Description of the first Fix Version/s |
linkedIssue.fields.fixVersions[0].releaseDate | Release date of the first Fix Version/s |
linkedIssue.fields.versions[0].name | Name of the first Affects Version/s |
linkedIssue.fields.versions[0].description | Description of the first Affects Version/s |
linkedIssue.fields.versions[0].releaseDate | Release date of the first Affects Version/s |
linkedIssue.fields.components[0].name | Name of the first component |
linkedIssue.fields.components[0].description | Description of the first component |
linkedIssue.fields.duedate | Due date |
linkedIssue.fields.timespent | Time spent |
linkedIssue.fields.timeoriginalestimate | The original estimate of the time required to resolve the linked issue |
linkedIssue.fields.resolution.name | Resolution of the issue |
linkedIssue.fields.watches.watchcount | The number of people watching the linked issue |
linkedIssue.fields.labels | Labels the linked issue relates to |
linkedIssue.fields.environment | The hardware or software environment the linked issue relates to |
linkedIssue.fields.votes | The number of votes a linked issue has |
parentIssue variable
The parentIssue
variable, which is only available from post-functions that work on the parent issue, is used to insert data of the parent issue being processed by the post-function.
For example:
{{parentIssue.fields.priority.name}}
returns the priority of the parent issue being processed.
Click here to see the properties of the parentIssue variable
Properties | Description |
---|
parentIssue.id | Internal Id number of the parent issue |
parentIssue.key | Parent issue key |
parentIssue.fields.summary | Parent issue summary |
parentIssue.fields.description | Parent issue description |
parentIssue.fields.issuetype.name | Parent issue type |
parentIssue.fields.issuetype.description | Parent issue Issue type description |
parentIssue.fields.creator.name | Username of the person who created the parent issue |
parentIssue.fields.creator.emailAddress | Email address of the person who created the parent issue |
parentIssue.fields.creator.displayName | Displays name of the person who created the parent issue |
parentIssue.fields.creator.timeZone | Time zone of the creator |
parentIssue.fields.reporter.name | Username of the person who reported the parent issue |
parentIssue.fields.reporter.emailAddress | Email address of the person who reported the parent issue |
parentIssue.fields.reporter.displayName | Display name of the person who reported the parent issue |
parentIssue.fields.reporter.timeZone | Time zone of the reporter of the parent issue |
parentIssue.fields.assignee.name | Username of the person assigned to the parent issue |
parentIssue.fields.assignee.emailAddress | Email address of the person assigned to the parent issue |
parentIssue.fields.assignee.displayName | Display name of the person assigned to the parent issue |
parentIssue.fields.assignee.timeZone | Time zone of the assignee of the parent issue |
parentIssue.fields.created | Date and time the parent issue was created |
parentIssue.fields.updated | Date and time the parent issue was last updated |
parentIssue.fields.priority.name | Parent Issue priority name |
parentIssue.fields.project.name | Parent Issue project name |
parentIssue.fields.project.key | Parent Issue project key |
parentIssue.fields.lastViewed | Date and time the parent issue was last viewed by the current user |
parentIssue.fields.fixVersions[0].name | Name of the first Fix Version/s |
parentIssue.fields.fixVersions[0].description | Description of the first Fix Version/s |
parentIssue.fields.fixVersions[0].releaseDate | Release date of the first Fix Version/s |
parentIssue.fields.versions[0].name | Name of the first Affects Version/s |
parentIssue.fields.versions[0].description | Description of the first Affects Version/s |
parentIssue.fields.versions[0].releaseDate | Release date of the first Affects Version/s |
parentIssue.fields.components[0].name | Name of the first component |
parentIssue.fields.components[0].description | Description of the first component |
parentIssue.fields.duedate | Due date |
parentIssue.fields.timespent | Time spent |
parentIssue.fields.timeoriginalestimate | The original estimate of the time required to resolve the parent issue |
parentIssue.fields.resolution.name | Resolution of the parent issue |
parentIssue.fields.watches.watchcount | The number of people watching the parent issue |
parentIssue.fields.labels | Labels the parent issue relates to |
parentIssue.fields.environment | The hardware or software environment the parent issue relates to |
parentIssue.fields.votes | The number of votes a parent issue has |
currentUser variable
The currentUser
variable is used to insert information about the current user, i.e. the user triggering the transition. Only two properties of the current user are available: key and name.
For example:
{{currentUser.name}}
returns the name of the user triggering the transition, e.g. carter
{{currentUser.key}}
returns the key of the user triggering the transition, e.g. carter001
now variable
The now
variable is used to insert the current date and time. This is useful to save a transition's execution date/time in a custom field.
For example:
{{
now}}
returns the current date and time, e.g. 2016-09-30T13:57:23.608Z
User-defined variables
In addition to the above variables, you can also create your own variables within the template using the set Nunjucks tag.
For example:
{% set x = "High" %}
sets the value of the variable x to High. You can also set the variable to an object. For example: {% set assignee = issue.fields.assignee %}