Workflow Features
Turbo Kit Workflow Features
Jira administrative rights are required to edit workflows and add/modify the below workflow functionality.
Workflows
Conditions
JQL Condition
Turbo Kit's JQL Condition allows you to variably control access to transactions based on a JQL (Jira Query Language) statement. You can test within the condition using an existing Jira issue to ensure that it works correctly before saving your workflow.
You can use any JQL available in your instance - including Turbo Kit's JQL Functions.
Field | Description |
---|---|
JQL Expression | Accepts JQL expressions. |
Test Issue | Enter a test issue key to evaluate: PASS / FAIL result. |
Test Button | Runs the JQL against any test issue key and provides a PASS/FAIL/Error Message response in read-only output field. |
This condition adds the issue key to the end of the JQL, so if you are using OR statements be sure to check that there are appropriate parentheses around the query.
To set a condition based on a previous status, use the “Status Was” condition, rather than the JQL, for a more performant workflow.
Status Was Condition
Turbo Kit's "Status Was" Condition provides a more performant way to ensure that the status of an issue was (or was not) a particular status previously.
Field | Description |
---|---|
Prior State | Must Have Been/Must Have Not Been |
Status | Select the status that the condition is validating against |
Status Ever in History | If checked, the issue must have been in the above status at any point in its life. If unchecked, the status selected above must have been the last status the issue was in. |
Validators
JQL Validator
Turbo Kit's JQL Validator allows you to variably control transactions based on a JQL (Jira Query Language) statement. You can test within the validator using an existing Jira issue to ensure that it works correctly before saving your workflow.
You can use any JQL available in your instance - including Turbo Kit's JQL Functions.
Field | Description |
---|---|
JQL Statement | Accepts JQL expressions. |
Test Issue | Enter a test issue key to evaluate: PASS / FAIL result. |
Test Button | Runs the JQL against any test issue key and provides a PASS/FAIL/Error Message response in read-only output field. |
Error Message | Custom error message to be displayed if JQL is not met. |
Useful Applications Include
Required Fields - Ensure specific fields have values prior to transition.
RegEx Validation - Used in combination with the Regex JQL Function, ensure format validation on specific fields prior to transition.
Leverage saved filters - The JQL statement can include filters you're already using and new ones you create (e.g., filter = "Blocked Changes").
Comment Required Validator
Requires that a comment be added for the transition in focus to continue.
This validator can only be added once to the transition.
Field | Description |
---|---|
Error Message | Custom error message to be displayed if a comment is not entered. |
Field Value Validator
Allows you to
Require a field is not empty
Require that a field is modified during transition
Require the value of a field to be equal to a specified value (accepts RegEx)
This validator can be added as many times as needed to the transition to add as many fields as needed.
Field | Description |
---|---|
Target Field | Select the field to be validated. |
Required Field | If checked, the field is required to not be empty. |
Value must be Modified | If checked, the field must be modified during the transition. |
Required Value | Allows you to enter in a specific required value for the field. This field accepts RegEx. If left empty, no specific value is required. |
Error Message | Custom error message to be displayed if validator is not met. |
Post Functions
Auto-Create Post Function
The Auto-Create post-function allows you to configure the automatic creation of issues as part of a workflow. The JQL Statement parameter allows further control over the conditions that would cause issue creation. Issues can be created in any project, of any issue type, and linked back to the triggering issue for full transparency. Copy the original summary or add a prefix or suffix.
This post function will copy all fields from the original issue.
Field | Description |
---|---|
JQL Statement | Accepts JQL expressions. |
Test Issue | Enter a test issue key to evaluate: PASS / FAIL result. |
Test Button | Runs the JQL against any test issue key and provides a PASS/FAIL/Error Message response in read-only output field. |
Summary Text | Enter in text to be appended/prepended to the original issue’s Summary. If left blank, the original summary will be copied directly. |
Summary Action | Copy: Copies the original issue summary Append: Adds the Summary Text to the end of the original issue summary Prepend: Adds the Summary Text to the beginning of the original issue summary |
Project | Select a project from the Jira instance, or select [current project] to use the project of the original issue |
Issue Type | Select an issue type from the Jira instance, or select [current issue type] to use the issue type of the original issue |
Link Type | This determines the link between the original issue and the new auto-created issue. Select a link type from the Jira instance, or select [no link] to create independent issues that are not linked. |
Error Message | Custom error message to be displayed if post function fails. |
Fail Action | Determines what happens if the JQL condition is not met or an error occurs. |
Epic Link on Auto-Create
Epic Links are a special type of issue linking that need to be explicitly configured in Auto-Create post-functions.
In the table below, the Source is the issue that is being transitioned through the workflow. The Clone is the newly created issue.
Source Issue Type | Target Issue Type | Behavior |
---|---|---|
Story | Story | If your source issue is a story and you are creating another story, the new issue will have the same epic link as the source. |
Story | Epic | If your source issue is a story and you are creating a new Epic, the story will be a child of the newly created Epic. |
Epic | Story | If your source issue is an Epic and you are creating a new Story, the newly created Story will be a child of the Epic. |
Epic | Epic | If your source issue is an Epic and you are creating another Epic, they will not be Epic linked. |
Any | Sub-task | Given any source issue type, if you are creating a new sub-task there will be no Epic Link. Epic Links are not allowed for sub-tasks. |
The most common way to configure Epic Linking is:
Select source issuetype with the JQL statement (e.g. issuetype = Epic)
Set the target Issue Type (e.g. Story)
Set the Link Type to Epic Link
In this configuration auto-create would trigger when a user transitioned an Epic through a workflow step with the auto-create post-function. A new story would be created and added to the Epic that the user transitioned.
Set/Calculate Field Post Function
Our Calculation Builder has support for all system and built-in custom field types, all Turbo Kit custom field types, and DocuSign for Jira custom field types. If you have a third party field you can use our Builder too, but we can't guarantee how well the post function will work. Our Calculation Builder will automatically detect the custom field type of supported fields and provide you with contextually appropriate information.
This post-function also leverages our JQL Condition functionality allowing you to do useful things like raise priority based on a high-touch client.
Field | Description |
---|---|
JQL Statement | Accepts JQL expressions. |
Test Issue | Enter a test issue key to evaluate: PASS / FAIL result. |
Test Button | Runs the JQL against any test issue key and provides a PASS/FAIL/Error Message response in read-only output field. |
Supported fields only | Toggle off to allow selection of non-standard fields (e.g., field types created by other marketplace apps). If toggled off, you will be permitted to enter in any custom field, by ID. Third-party custom fields are not guaranteed to be compatible. User errors may occur when mixing custom and supported fields. |
Target Field | Select the field to be populated. |
Sources | Select source fields to populate the target. Note that the number of fields selected will depend on the type of Target field. E.g., if the target field is a Date or Date Time field, you will only be able to select one Source field. |
Calculation | Calculation of the sources to populate the Target Field. You can mix fields with Custom Input values to populate certain field types. Clicking on a field in this view will remove it from the field. |
Custom Input | Allows you to enter in custom input values (mathematical operators, static text, wiki markup, etc.). |
Error Message | Custom error message to be displayed if post function fails. |
Fail Action | Determines what happens if the JQL condition is not met or an error occurs. |
Useful Applications Include
Increment/track number of transitions: "Touches + 1"
Calculate costs. The above example is "(Billed Hours - Refunded Hours) * Rate"
Assign Issue based on priority/customer
Raise/Lower priority based on client
Copy a value from one field to another