šŸš€ Effective since April 2020 and JWT version 2.9.0 Automation Toolbox for Jira is fully integrated into our top rated app Jira Workflow Toolbox (JWT)šŸš€

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »


Automation Toolbox for JiraĀ provides a set of special fields called Virtual Fields, making the most interesting properties of issues, projects and usersĀ accessible to every feature in the app. Virtual fields may be read and written by Automation Toolbox for Jira in the same way ordinary custom fields are.

Writable virtual fields

When a value is written into these fields, a feature or system field of the issue the field belongs to will be modified. These fields are also readable.

Field NameField codeEffect of WritingAllowed String ValuesAllowed Numeric ValuesExamples
Summary
%{issue.summary}
Sets issue Summarytext string trimmed to 255 charactersnumbers are cast to string-
Description
%{issue.description}
Sets issue Descriptionunlimited text stringnumbers are cast to string-
Assignee
%{issue.assignee
Assigns the issue to a useruser name (not user's full name)n/a-
Reporter
%{issue.reporter
Updates issue Reporter to a different useruser name (not user's full name)n/a-
Due date
%{issue.dueDate
Sets issue's system field Due Datedate-time in format defined at jira.date.time.picker.java.format, or as in JQL (yyyy/MM/dd HH:mm, yyyy-MM-dd HH:mm, yyyy/MM/dd, yyyy-MM-dd, or relative to current time using "w" (weeks), "d" (days), "h" (hours) or "m" (minutes)number of minutes relative to current time.2014-03-25 : date example

2015-01-31 14:35 : date with time example

- 4d 1h : 4 days and 1 hour before current time.

2w, 3d, 4h, 5m : 2 weeks, 3 days, 4 hours and 5 minutes after current time.

Priority
%{issue.priority
Updates the issue Priorityname of a Priority (e.g., Blocker, Critical, Major,...)(0 = highest priority, 1 = second highest,... n = lowest
Original estimate (minutes)
%{issue.originalEstimate
Sets original estimatecast from string to number will be attemptednumber of minutes30 : sets Original estimate to 30 minutes.

Original estimate (minutes) can be increased or decreased using expression parserĀ  with formulas like: {00024} + 60 for increasing remaining estimate in 1 hour, or {00024} - {10000} for decreasing remaining estimate by the amount of minutes stored in custom field with code {10000}.
Remaining estimate (minutes)
%{issue.estimate
Sets remaining estimatecast from string to number will be attemptednumber of minutes30 : sets Remaining estimate to 30 minutes.

Remaining estimate (minutes) can be increased or decreased using expression parser with formulas like: {00024} + 60 for increasing remaining estimate in 1 hour, or {00024} - {10000} for decreasing remaining estimate by the amount of minutes stored in custom field with code {10000}.
Total time spent (minutes)
%{issue.timeSpent
Sets time spent.+cast from string to number will be attemptednumber of minutes30 : sets Time spent to 30 minutes.

Total time spent (minutes) can be increased or decreased using expression parserĀ  with formulas like: {00024} + 60 for increasing remaining estimate in 1 hour, or {00024} - {10000} for decreasing remaining estimate by the a mount of minutes stored in custom field with code {10000}.
Add to time spent (minutes)
%{issue.addTimeSpent
Adds a number of minutes to current value of field "Total time spent (minutes)"cast from string to number will be attemptednumber of minutes60 : increases time spent in 1 hour.

Components
%{issue.component
Sets issue ComponentsComma separated list of component names.

Prefixes + and - can be used to add or remove (check or uncheck) single values or set of values.
n/a+ Web Site, User Management : adds the components Web Site and User Management to current issue, provided they exist in the project.

- Library A, Component B : removes the components Library A and Component B from current issue, provided they exist in the project.
Fixed versions
%{issue.fixVersion
Sets Fixed versionsComma separated list of version names.

Prefixes + and - can be used to add or remove (check or uncheck) single values or set of values.
numbers are cast to string+ 1.0, 1.1 : adds versions 1.0 and 1.1 to field Fixed versions.

- 2.0, 2.2 : removes versions 2.0 and 2.2 from field Fixed versions.
Affected versions
%{issue.version
Sets Affected versionsComma separated list of version names.

Prefixes + and - can be used to add or remove (check or uncheck) single values or set of values.
numbers are cast to string+ 1.0, 1.1 : adds versions 1.0 and 1.1 to field Affected versions.

- 2.0, 2.2 : removes versions 2.0 and 2.2 from field Affected versions.
Environment
%{issue.environment
Sets issue Environmentunlimited text stringnumbers are cast to string-
Issue status
%{issue.status
Will make the issue progress through the workflow to the written status, provided there is transition in the workflow from current status to the written status. It requires that all conditions and validations in the transition are satisfied.name of a Status (e.g., Open, In Progress, Resolved,...)n/aResolved : will search for a transition from current issue's status to Resolved status. If conditions are satisfied, it will try to execute the transition. Then if validators are satisfied in that transition are satisfied, it will be executed, resulting in moving issue to Resolved status. Every post-function in the executed transition is also executed.

Resolution
%{issue.resolution
Sets issue Resolutionname of issue Resolution (e.g., Fixed, Won't Fix, Duplicate, Incomplete,...)n/a-
Labels
%{issue.labels
Sets LabelsComma separated list of labels. If label doesn't exist it is created.

Prefixes + and - can be used to add or remove (check or uncheck) single values or set of values.
numbers are cast to string+ jira, plugin : adds labels "jira" and "plugin" to the issue.

- scrum, web : removes labels "scrum" and "web" from the issue.
Attachments (only new attachments will be added)
%{issue.attachmentsAdd
Adds new attachments coming from another issue keeping current attachments. Rejects duplicated attachments.Comma or blank separated list of issue keys whose attachments will be copied to current issue.n/aCMR-1 : adds to current issue the attachments in issue CRM-1 except if attachments are already in current issue.

CRM-2, HR-34, HR-50 : adds to current issue the attachments in issues CRM-2, HR-34 and HR-50 except if attachments are already in current issue.
Attachments with details
%{issue.attachment.details
Text stringComma separated list of file names with its mime types and sizes in Kbytes, for every file attached to the issue.
file1.txt (text/plain, 5.14 KB), readme.pdf (application/pdf, 179.8 KB), screenshot.png (image/png, 5.449 KB)
Security level
%{issue.securityLevel
Sets issue Security Levelname of a Security Leveln/aPublic : sets security level to Public, provided this security level exists in the Security Scheme of the project.

Reserved : sets security level to Reserved, provided this security level exists in the Security Scheme of the project.
Last comment
%{issue.lastComment
Updates the last comment added to the issue if it existsunlimited text string

Optionally parameter visibility can be added for setting comment visibility. To do it add : {visibility=visibility_value} at the end of the text. This parameter permits same values as "Last comment's visibility restriction".
numbers are cast to stringWARNING: When writing into this field, please add your writer post-function AFTER "Add a comment to an issue if one is entered during a transition." post-function, since otherwise updated comment will be the one before last, instead of the last one.
Last comment's visibility restriction

%{issue.lastComment.visibility
Updates the visibility of the last comment in the issue if it exists. Can be used to set the visibility of a comment introduced with virtual field New commentname of a Project Role or name of a Group.

In Jira Service Desk it also admits values public and internal (without doble quotes), or alternatively jsd_public and jsd_internal to avoid name collision with existing project roles and user groups.

n/aDevelopers : for setting visibility to project role or group with name Developers.

jsd_internal : for setting JSD internal visibility.

jira-developers : for setting visibility to "jira-developers" user group.
Watchers
%{issue.watcher
Sets watchers of an issue. Can be used to add or remove watchers to linked issues, sub-tasks or issues returned by JQL, but requires to use operator '+' and '-'. Also can be used to copy watchers between issues.comma separated list of user names, group names or project roles names.

Prefixes + and - can be used to add or remove single users or set of users.
n/aalbert, richard, john : sets 3 users as watchers replacing current ones.

+ Developers, Administrators : adds every user in project roles or groups Developers and Administrators to current watchers.

- Testers, Administrators, + albert, richard : removes users in project roles or groups Testers and Administrators and adds users albert and richard as watchers.


Values returned when reading virtual fields


Field nameField CodeTypeValue returned when cast to stringExamples
Summary
%{issue.summary
Text stringIssue summary.-
Description
%{issue.description
Text stringIssue description.-
Assignee
%{issue.assignee
UserThe name of the user who has the issue assigned.albert.einstein
Assignee's full name
%{issue.assignee.fullName
Text stringName and surname of the user who currently has the issue assignedAlbert Einstein
Assignee's email
%{issue.assignee.email
Text stringEmail address of the user who currently has the issue assignedalbert.einstein@yahoo.com
Reporter
%{issue.reporter
UserThe name of the user who reported the issue. This field is editable, while Creator field isn't.albert.einstein
Reporter's full name
%{issue.reporter.fullName
Text stringName and surname of the user who created the issueAlbert Einstein
Reporter's email
%{issue.reporter.email
Text stringEmail address of the user who created the issuealbert.einstein@yahoo.com
Creator
%{issue.creator
UserUser name of the user who actually creates the issue in JIRA. This field, unlike Reporter, can't be edited.richard.feynman
Creator's full name
%{issue.creator.fullName
Text stringName and surname of the user who actually created the issue in JIRARichard Feynman
Creator's email
%{issue.creator.email
Text stringEmail address of the user who actually created the issue in JIRArichard.feynman@gmail.com
Current user
%{issue.currentUser
UserName of the user who is executing the transition.isaac.newton
Current user's full name
%{issue.currentUserFullName
Text stringName and surname of the user who is executing the transition.Isaac Newton
Current user's email
%{issue.currentUserEmail
Text stringEmail address of the user who leads the project the issue belongs to.albert.einstein@yahoo.com, isaac.newton@gmail.com
Current date and time
%{issue.currentDateTime
Date and TimeCurrent date and time of JIRA server's clock. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 1:38 PM for jira.date.time.picker.java.format = dd/MMM/yy h:mm a

Date and time of creation
%{issue.created
Date and timeDate and time when issue has been created. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 1:38 PM for jira.date.time.picker.java.format = dd/MMM/yy h:mm a


Date and time of last update
%{issue.updated
Date and timeDate and time of the most recent issue update. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 1:38 PM for jira.date.time.picker.java.format = dd/MMM/yy h:mm a
Date and time of latest status change
%{issue.lastStatusChange
Date and timeDate and time of the most recent status change in the issue. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 1:38 PM for jira.date.time.picker.java.format = dd/MMM/yy h:mm a

Useful to find out for how much time is the issue in current status using expression: {00057} - {000158}, where {00057} = Current date and time and {000158} is Date and time of latest status change.


Due date
%{issue.dueDate
DateField that can store a date with no time part, and is used to schedule issues. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 for jira.date.time.picker.java.format = dd/MMM/yy h:mm a, since this field doesn't store time part.
Date and time of resolution
%{issue.resolutionDate
Date and timeDate and time of the most recent update of field Resolution. When cast to string format defined at jira.date.time.picker.java.format is used.19/Mar/14 1:38 PM for jira.date.time.picker.java.format = dd/MMM/yy h:mm a
Priority
%{issue.priority
PriorityName of the priority in Default language configured in the JIRA instanceBlocker
Critical
Major
Original estimate (minutes)
%{issue.originalEstimate
NumberTime originally estimated for the issue expressed in minutes. It's a real number, so it may have a non-zero fractional part.-
Remaining estimate (minutes)
%{issue.estimate
NumberRemaining time estimated for the issue expressed in minutes. It's a real number, so it may have a non-zero fractional part.-
Total time spent (minutes)
%{issue.timeSpent
NumberWork time currently spent at the issue expressed in minutes. It's a real number, so it may have a non-zero fractional part.-
Work logged in transition (minutes)
%{issue.transition.worklog
NumberNumber of minutes logged in current transition screen.This field can be used to enforce logging some time in transition screen.


Components
%{issue.component
ComponentsComma separated list of component namesWeb Site, Authenticator, Statistics
Components leaders
%{issue.component.leads
Multi userComma separated list of user namesalbert.einstein@yahoo.com, richard.feynman@gmail.com
Fixed versions
%{issue.fixVersion
VersionsComma separated list of fixed versions1.0, 2.0, 2.1
Fixed versions with details
%{issue.fixVersion.details
Text stringA text with a line for each fixed versions. Each line contains the following information separated by characters '#': name of version, description, release date and archive situation1.0 # First release # RELEASED ON 28/Mar/14 12:00 AM # ARCHIVED
Number of fixed versions
%{issue.fixVersion.count
NumberNumber of fixed versions in current issue.-
Affected versions
%{issue.version
VersionsComma separated list of fixed versions1.0, 2.0, 2.1
Affected versions with details
%{issue.version.details
Text stringA text with a line for each affected versions. Each line contains the following information separated by characters '#': name of version, description, release date and archive situation1.0 # First release # RELEASED ON 28/Mar/14 12:00 AM # ARCHIVED
Number of affected versions
%{issue.version.count
NumberNumber of affected versions in current issue.-
Number of votes received
%{issue.votes
NumberNumber of votes received by the issue.-
Keys of subtasks
%{issue.subtasks
Text stringComma separated list of issue keys.CRM-23, CRM-26, CRM-31
Number of subtasks
%{issue.subtasks.count
NumberNumber of subtasks of current issue.-
Keys of linked issues
%{issue.linkedIssues
Text stringComma separated list of issue keys.CRM-13, HR-12, SDESK-45
Number of linked issues
%{issue.linkedIssues.count
NumberNumber of issues linked to current issue.-
Environment
%{issue.environment
StringField to describe the environment where the issue has occurred.-
Attachments
%{issue.attachment
AttachmentsComma separated list of file names of all files attached to the issue.file1.txt, readme.pdf, screenshot.png

Number of attachments
%{issue.attachment.count
NumberNumber of files attached to current issue.-
Labels
%{issue.labels
LabelsBlank separated list with all the labels of the issue.web customer java mobile
Number of labels
%{issue.labels.count
NumberNumber of labels in current issue.-
Issue key
%{issue.key
Text stringIssue keyCRM-25
HR-52
SDESK-1
Issue type
%{issue.issueType
Issue typeName of issue's Issue Type in Jira's default languageBug
Improvement
New Feature
Task


Issue status
%{issue.status
Issue statusName of current status of the issue in Jira's default language.Open
In Progress
Resolved
Issue status category

statusCategory
Status categoryName of the category in Jira's default language.To Do
In Progress
Done
Previous issue status

status.previous
Issue statusName of the status the issue was just before current one. The name is shown in Jira's default language.Open
In Progress
Closed
Previous issue status category
statusCategory.previous
Status categoryName of the category of the status the issue was just before current one. The name is shown in Jira's default language.To Do
In Progress
Done
Available transitions

transitions.achievable
Text stringA comma separated list with the names of transitions with origin in current issue status.If current issue is in Open status of classic Jira workflow, then field Available transitions will return: Start Progress, Resolve Issue, Close Issue
Available target statuses

status.achievable
Text stringA comma separated list with the names of target status of those transitions with origin in current issue status.If current issue is in Open status of classic Jira workflow, then field Available target statuses will return: In Progress, Resolved, Closed
Resolution
resolution
ResolutionThe name of the resolution currently set at the issue, or empty string if Resolution is not set. The name of the resolution is shown in Jira's default language.Resolved
Won't fix
Cancelled
Security level
securityLevel
Security levelName of the security level the issue currently has.Classified
Last comment
lastComment
Text stringLast comment entered in the issue.-
Last comment's visibility restriction
lastComment.visibility
Text string

Name of a group or project role the visibility of the last comment entered in the issue is restricted to. If no restriction is applied to the comment, this field is returns an empty string. For Service Desk's special Internal visibility restriction, string "Internal" is returned. This field can be used to check visibility restriction of field entered in transition when it exists.

When using a post-function for setting this field in order to set visibility restrictions over the comment entered in the transition screen, always insert the post-function after post-function "Add a comment to an issue if one is entered during a transition.", like in this example:

-
Last commenter
(since version 2.1.33)
lastComment.author
UserName of the user who entered the last comment in the issue.galileo.galilei
Transition's comment
transition.comment
Text stringComment entered in transition screen. This field can be used to make comment mandatory in transition screen, or to validate the content of comment entered in a transition.-
Watchers
watcher
Multi-userComma separated list of user names of current watchers of the issue.albert.einstein, richard.feynman, galileo.galilei
Project key
project.key
Text stringProject Key of the project the issue belongs to.CRM, HR, SDESK
Project name
project.name
Text stringName of the project the issue belongs to.Customer Relationship Management
Project description
project.description
Text stringField Description of the project the issue belongs to.-
Project URL
project.url
Text stringField URL of the project belongs to.https://www.decadis.de
Project category
project.category
Text stringName of the Category of the project the issue belongs to.-
Project leader
project.lead
UserName of the user who leads the project the issue belongs to.galileo.galilei
Project leader's full name
project.leadFullName
Text stringName and surname of the user who leads the project the issue belongs to.Galileo Galilei
Project leader's email
project.leadEmail
Text stringEmail address of the user who leads the project the issue belongs to.galileo.galilei@me.com
Rest of issues in the project
remainingIssuesInProject
Text stringComma separated list of issue keys in the project except current issue's key.CRM-1, CRM-2, CRM-3, CRM-4
Workflow scheme
workflowScheme
Text stringThe name of the workflow scheme of the project current issue belongs to.-
JIRA base URL
baseUrl
Text stringReturns the base URL of current JIRA instance.-
Sprint ID
sprintId
Text stringThe internal ID for the sprint of current issue. This value can be used for setting field Sprint in other issues.-
Sprint Start Date
sprintStartDate
DateSprint's start date.-
Sprint End Date
sprintEndDate
DateSprint's end date.-

For every virtual and custom field in a sub-task, there is also another virtual field representing the same field in its parent issue, making it very easy to read and write parent's issue fields.