Blog
Direct download from Marketplace
This major release ships with a new library that comes bundled with Jira Workflow Toolbox. The xApps Library is used to commonly provide expression parser features for JWT and several upcoming apps.
The first new member of the toolbox family using the library is Automation Toolbox for Jira, which unchains the power of the parser from its current workflow scope.
Check out the rich set of functions and start automating your daily tasks in Jira today!
New features
- Move issues on a transition using the Move issues post function
- Use advanced parsing mode for composing meaningful error messages in all validators
- Added the xApps Library to use the Jira Workflow Toolbox Expression Parser in several upcoming apps
New expressions in the parser
Function | Returned value |
---|---|
allCommentDates() : number list Available since version 2.5.0 | Returns the dates of related comments as a number list. |
allCommentDates(string issue_keys) : number list Available since version 2.5.0 | Returns the dates of related comments from the entered issue_keys as a number list. Example: |
allCommentDates(issue list issue_list) : number list Available since version 2.5.0 | Returns the dates of related comments in the entered issue_list as a number list. Example: |
projectLeader(string projectKey) : string Available since version 2.5.0 | Returns the project lead of the projectKey. Example: |
status(number id) : string Available since version 2.5.0 | Returns the name of the status with the id id. Example: |
resolution(number id) : string Available since version 2.5.0 | Returns the name of the resolution with the id id. Example: |
issueType(number id) : string Available since version 2.5.0 | Returns the name of the issue type with the id id. Example: |
option(number id) : string Available since version 2.5.0 | Returns the name of the option with the id id. Example: |
priority(number id) : string Available since version 2.5.0 | Returns the name of the priority with the id id. Example: |
project(number id) : string Available since version 2.5.0 | Returns the key of the project with the id id. Example: |
issueSecurityLevel(number id) : string Available since version 2.5.0 | Returns the name of the issue security level with the id id. Example: |
invertList(number list l) : number list Available since version 2.5.0 | Returns l in inverted order. Example: |
invertList(string list l) : string list Available since version 2.5.0 | Returns l in inverted order. Example: |
Improvements
- Reference standard objects like issue types, statuses or resolutions by ID, e.g. use
status(1)
instead of"Open"
- Use IDs for custom field options, e.g. use
option(10001)
instead of"Option A"
- Skip validations for issues being created by email
- Set the assignee to Automatic when updating fields
- Mark all values in a multi-valued field as required in the Fields required or changed validator validator
- Use Standard option for fields in the Create issues and sub-tasks post function
- Parse text for selecting transitions and statuses within the Transition issues post function
Bug fixes
- When using "IN" operator, options containing commas didn't work
- The field code injector in the Add a comment post function only displayed user fields
- The Copy parsed text to a field post function added a user twice as request participant in some circumstances
- Fixed workflow exception in the Create issues and sub-tasks post function when creating a new issue from a SD issue which contains the Satisfaction field
- Fixed UI behavior when editing large schedules
- Fixed error when trying to set the Sprint ID in the Set a field as a function of other fields post function
- Copying multi-select fields when using the Create issues and sub-tasks post function didn't work properly
- Fixed parser expression check via REST call for large expressions
- Field code for available target statuses threw a NullPointerException
- Using function fieldValue() with Insight Objects custom fields didn't work
- Selecting a standard option caused the post function view to break and made the configuration unavailable in some circumstances
- Not all math expressions used to work in the Send an email post function
- Setting the epic link on Create issues and sub-tasks didn't work
- Fixed wrong popup window when saving a schedule in Firefox and Internet Explorer
- Fixed field code injector for several custom field codes
- Copying mutli-select fields in the Create Issue post function didn't work properly
- Syntax highlighting didn't work when Insight was enabled
- Fixed parser check error when using the Sprint field in a calculated field
- Customer request channel couldn't be resolved in Jira 8
Find more Release Notes in our Version History section.
Jira 8 Compatibility
Find more Release Notes in our Version History section.
This is the last version compatible with Jira 6.3 - 7.2.15
Direct download from Marketplace
Bug fixes
- Issue creation under an epic, triggered by the epic itself, produced a deadlock because of the epic's change history entry which could not be created.
- When converting from string to number, the exponent 10 got cut off. Bug resurfaced in version 2.4.10.
- Daylight Saving Time changes at 00:00 AM negatively impacted several time-related functions.
Find more Release Notes in our Version History section.
Direct download from Marketplace
Bug fixes
- Calculated fields had been removed from the index in version 2.4.9 to prevent problems related to functions that require the index while the index is unavailable. Now the calculated fields are only removed from the index if functions are being used that require the index. e.g the function issuesFromJQL()
- The isJwtTriggeredTransition() function did not respect the issue creation when triggered by Jira Workflow Toolbox itself
- Fix in Ephemeral fields to prevent a NullPointer exception caused by empty objects generated by the Expression Parser Test page
Find more Release Notes in our Version History section.
ATTENTION
This version has been removed from the Atlassian Marketplace due to major problems with calculated fields
New features
- Parser function: projectKey(string project_name) - Returns a string with the project key from the project with the project_name.
Improvements
- Show 250 fields in field code injectors (instead of 50)
- Syntax highlighting works when Insight is installed
- Add a comment post function, author field is now limited to user picker fields
- Documentation added to the parser test page and improved formatting of the parser results
- Documentation improvements for some functions
Bug fixes
- Fixed NullPointer in function projectCategory()
- Workaround to prevent Lexorank Deadlock during the creation of several issues in one post function
- Removed JWT calculated field values during index operations due to major problems while calculating index dependent function while the index is not available, JWT calculated fields are no longer searchable
- Fixed problem setting Insight object fields
- Fixed data access problem in the set or update a project property function
- Fixed bug in Field is initialized validator when has changed / has not changed options were selected
Find more Release Notes in our Version History section.
New features
- Target issue selection in Log work post function
- Parser rendering language can now be changed, the default setting is the Jira indexing language.
New expressions in the parser
Function prototype | Returned value |
---|---|
attachmentUrls() : string list Available since version 2.4.8 | Returns a string list with the URL of attachments of current issue. |
attachmentUrls(issue list issue_list) : string list Available since version 2.4.8 | Returns a string list with the URL of attachments of issues in issue_list. |
attachmentUrls(string list attachments_regexp) : string list Available since version 2.4.8 | Returns a string list with the URL of attachments of the current issue with names matching a regexp in attachments_regexp. |
attachmentUrls(issue list issue_list, string list attachments_regexp) : string list Available since version 2.4.8 | Returns a string list with the URL of attachments of issues in issue_list with names matching a regexp in attachments_regexp. |
Bug fixes
- Transition issues post function view was broken after renaming the target workflow.
- Validation error messages now show up correctly at the selected field on the "Create issue" screen.
- Function projectCategory() now returns the project category instead of null.
- The transition of linked issues is now working without a selected Issue Link Filter in the Transition issues post function.
- Clear field value option is now working for the Watchers field.
- {Date and Time of resolution} now returns the correct date even if the issue history has no entry for issue resolution date.
- Changing a value for a selected field in the fields to update section did not show up in the configuration of the Create issues and subtasks post function.
- Setting epic link did not create the change history entry in the epic and threw an error in the log.
- Converting from string to number bug, the exponent 10 got cut off
Find more Release Notes in our Version History section.
This is the first Atlassian approved data center compatible version of Jira Workflow Toolbox
Direct download from Marketplace
Improvements
- Reading new Insight custom field objects now returns a combination of the name and the key of insight objects. Examples:
Main Server (SFT-243)
,Test Environment (CRM-21)
. - Writing the new insight custom fields has been improved: the name, the key or a combination of name and key of insight objects are now accepted when setting insight fields. Examples: "
Main Server
", "SFT-243
" or "Main Server (SFT-243)
" are the 3 valid ways of setting an Insight field with a same object.
Bug fixes
- JWT calculated number and date-time fields returned error instead of null for issues not in the fields context.
- Option Picker did not return Options with a corrupt database.
- JWT now prevents creating Issue Links between an issue and itself.
- Fixed several functions to work on the parser test page.
Find more Release Notes in our Version History section.
Insight Custom Fields introduced in Insight version 5.4 are now supported to be written with JWT post functions
Direct download from Marketplace
Improvements
- Improved support for new "Insight Object/s" custom field type.
Bug fixes
- Numeric field code injectors don't show any the following field types: Date, Date-Time and Priority.
- Field code injectors in calculated fields are showing unwanted field codes associated to transition executions (eg. Transition's comment).
- We removed one of the examples of custom display format for Numeric Calculated Fields which was wrong.
- Cascading select comparer throws an error when an empty configuration of it is saved.
- Format field value post-function was interpreting the replacement string parameter as a regular expression instead of a string literal.
- Parameter replacement at parser functions replaceFirst(string, regex, replacement) and replaceAll(string, regex, replacement) was being interpreted as a regex instead of a string literal.
Find more Release Notes in our Version History section.
[2018-06-29] Released Jira Workflow Toolbox 2.4.5
Bug fixes
Certain post functions are either not displaying correctly or are not editable after adding them initially.
Affected post functions:
Add or disable option in Cascading Select field
Add or disable option in Select List, Radio Button, Multi-Select List or Checkbox field
Copy or add custom field value to issue description
Log work
Parse field for extracting data
Set or create a user property
Copy Cascading Select field
Cascading select comparer
Find more Release Notes in our Version History section.
[2018-06-21] Released Jira Workflow Toolbox 2.4.4
New features
New Parser function: timeInStatus() - easily identify how much time issues spend in a specific status. The function comes with four distinct configuration options to meet your specific needs. If used in a calculated field you might want to try to format the output as a duration as opposed to a number to improve readability.
timeInStatus(string status_name) : number | Returns the number of milliseconds the current issue has remained in a status with name status_name. If an issue has been in that status more than once, then duration will be summed up and the total time spent in the status will be returned. Example: In order to display this value in a more readable way, the milliseconds should be transformed into a more readable unit, like in the following example:
|
timeInStatus(string status_name, string schedule_name, timeZone time_zone) : number Available since version 2.4.4 | Returns the number of milliseconds the current issue has remained in a status with name status_namewithin a schedule named schedule_name for a given time_zone timeZone. If an issue has been in that status more than once, then duration will be summed up and the total time spent in the status will be returned. Example: |
timeInStatus(string status_name, issue list issues) : number | Returns the sum of milliseconds issues in an issue list issues have remained in a status with namestatus_name. If an issue from that list has been in that status more than once, then duration will be summed up and the total time spent in the status will be returned. Example: |
timeInStatus(string status_name, issue list issues, string schedule_name, timeZone time_zone) : number Available since version 2.4.4 | Returns the sum of milliseconds issues in an issue list issues have remained in a status with namestatus_name within a schedule named schedule_name for a given time_zone timeZone. If an issue from that list has been in that status more than once, then duration will be summed up and the total time spent in the status will be returned. Example: |
Check out the official documentation for more details.
Bug fixes
- Configuration parameter "Evaluate all the setting rules" on "Set a field as a function of other fields" post function is disabled on "Ephemeral string" fields
- "linkedIssues()" parser function stopped working properly in version 2.4.3
- "Create issues and sub-tasks" post function is not correctly setting the components in other projects
Find more Release Notes in our Version History section.
[2018-16-13] Released Jira Workflow Toolbox 2.4.3
Bug fix
- The Send an E-Mail post function does not work as expected after upgrading to version 2.4.1/2.4.2
Find more Release Notes in our Version History section.
[2018-06-11] Released Jira Workflow Toolbox 2.4.2
This major release replaces version 2.4.1 which introduced a bug in the Send an email post function.
New Features
- The email's priority and BCC recipients can now be configured in the "Send an email" post function.
- Specify the location of the "Message to show when validation fails". The message can be shown next to any field or at the top of the transition screen.
- Insight custom fields are now supported up to version 5.4. New custom fields will be supported in upcoming releases.
- The "Update issue fields" post function now supports the Portfolio Team field.
- You can now update Service Desk specific fields through JWT post functions:
- Customer Request Type
- Organizations
- Customer Request Channel
Improvements
- Major Javascript performance improvements
Bug fixes
- Calculated fields occasionally prevent the execution of built-in issue actions (e.g. move/delete issues).
- Parent's Virtual fields cannot be set using "Update issue fields" post function in standard mode.
Find more Release Notes in our Version History section.
[2018-06-07] Released Jira Workflow Toolbox 2.4.1
This version has been replaced with version 2.4.2, because it introduced a bug in the Send an email post function.
New Features
- Both an email's priority and the BCC recipients can now be configured in the Send an email post function.
- Specify the location of the "Message to show when validation fails". The message can be shown next to any field or at the top of the transition screen.
- Insight custom fields are now supported up to version 5.4. New Insight custom fields will be supported in the upcoming release.
- The "Update issue fields" post function now supports the Portfolio Team field.
- You can now update Service Desk specific fields through JWT post functions:
- Customer Request Type
- Organizations
- Customer Request Channel
Improvements
- Javascript performance has been improved for all JWT functions.
Bug fixes
- Exceptions thrown by calculated fields occasionally prevent the execution of built-in issue actions (e.g. move issue, delete issue).
- Parent's Virtual fields couldn't be set using Update issue fields post function in standard mode.
Find more Release Notes in our Version History section.
New features
- New post function: "Update issue fields" (formerly known as Write fields on issues returned by JQL query or issue list)
- New target issue selection options: Current Issue, Parent Issue, Linked Epic, and many more)
- Simple selection of target field values: (Single Select, Multi Select, Priorities, Resolutions, Components, ...)
- Easily purge field values with the new built-in "Clear field value" option
- Expression Parser Test page
- A completely new page in the administration interface to evaluate parser expressions - test against existing issues in real time without any risk
- Supports basic, mixed, advanced, date/time/number und logical mode
- Write and test your expressions including syntax highlighting and syntax check
- New Parser Functions:
- dateTimeToString(number t, string date_time_pattern , timeZone time_zone, language) : string
- htmlToTxt(string s) : string
- projectKeys() : string list
- projectKeys(string category) : string list
- projectName(string project_key) : string
- projectCategory(string project_key) : string
Details can be found here: Expression Parser's documentation page.
Improvements
- Parametric issue type selection in post function "Create issues and sub-tasks"
- Create multiple issues with various issue types in a single post function
- Dynamically inherit the issue type from the issue firing the transition
- Create both standard and sub-task issue types
- New parameter "timezone" added to Display Format configuration of Calculated Date-Time fields.
Bug fixes
- Functions addTimeSkippingWeekends(), addTimeSkippingWeekends(), addDaysSkippingWeekends(), addDaysSkippingWeekends(), subtractDatesSkippingWeekends() and subtractDatesSkippingWeekends() return inaccurate results under certain circumstances. All functions were completely rewritten using "SDG".
- Functions dateToString() and dateTimeToString() ignore input parameter timezone.
- TransitionOptions did not work in delayed transitions
Find more Release Notes in our Version History section.
[2018-04-05] Released Jira Workflow Toolbox 2.3.4
In version 2.3.3 issues stopped to be immediately updated after each field writing. This modification of the historical behavior of JWT has caused not few problems in some workflows configured with previous versions of JWT. In this new version of JWT (2.3.4) we are adding a checkbox parameter for optionally updating the issue after a field writing. This parameter is by default checked in old post function configurations, thus we keep the historical behavior of JWT and avoid back-compatibility issues.
Improvements
- Added optional parameter "Update issue immediately after field writing" to the following post functions:
- Copy parsed text to a field
- Format field value
- Mathematical and date-time expression calculator
- Parse field for extracting data
- Read a project property
- Read field from issues returned by JQL query or issue list
- Read fields from linked issues or sub-tasks
- Read user property
- Regular expression renderer
- Set a field as a function of other fields
- Update issue fields
- Write field on linked issues or sub-tasks
Bug fixes
- Unary minus operator caused NPE when applied on numeric expressions returning
null
. - Optional parameter "Don't overwrite" wasn't working in post functions Read field from issues returned by JQL query or issue list and Read fields from linked issues or sub-tasks.
- Post function Send an email didn't manage correctly attachments using Cyrillic characters in the file name.
- Functions replaceFirst() and replaceAll() caused NPE when applied on
null
arguments.
Find more Release Notes in our Version History section.