Our new Appfire Documentation Space is now live!
Take a look here! If you have any questions please email support@appfire.com
Build-your-own (scripted) Validator
A workflow validator that is based on the result of a Jira expression.
If the Jira expression returns false
, a validation error message will be displayed. This can be used to test or compare issue fields, to test linked issues, to check for open Sprints, etc.
To add the 'Build-your-own (scripted) Validator' to a transition:
Click Edit for the workflow that has the transition you wish to configure the condition on.
In the Workflow Designer, select the transition.
Click on Validations in the properties panel.
Click on
Add validation
.Select
Build-your-own (scripted) Validator
from the list of validators.Click on
Add
to add the validator on the transition.Input a Jira expression in the
Jira expression
field.Input a message in the
Error message
field to display if the configured conditions are not satisfied. For information on how to write a 'Jira expression' see How to insert information using Jira expressions.Click on
Add
to add the condition to the transition.
On the Service Management portal view of a request, the customer will not see the Error message
when the validator fails. This is due to a known limitation (JSDCLOUD-5853) with Atlassian.
When you add this validator to a transition and trigger the transition, the add-on checks the result of the Jira expression. If it returns true
the validation will pass. If it returns false or
any non-boolean value, a validation error message is displayed.
Use case
A typical use of this workflow validator is to validate that the field of the issue has a specific value or the current user belongs to a specific group during the transition. Consider a use case where you want to block the user from triggering the “Approve” transition when the current user is not in the “Approvers” field. To configure this:
Add the “Build-your-own (scripted) validator” to the “Approve” transition
Input the following code under “Jira Expression”
!! issue.customfield_10002 && issue.customfield_10002.some(it => it == user)
Another use of this validator is to validate the comment added during the transition. Jira expressions do not facilitate a context variable to get the comment added during the transition. But you can access the comment on the transition screen with a workaround. Consider a use case where you want to block the user from rejecting the “Bug” without a comment with atleast 10 characters. To configure this:
Add the “Build-your-own (scripted) validator” to the “Approve” transition
Input the following code under “Jira Expression”
issue.comments.some(comment => !comment.id && comment.body.plainText.length > 10)
This basically tests whether there is a comment that has no ID (and therefore is new) and whose body length is > 10.