Example: Validate compatible values selection among dependent custom fields
I have three pull-down
- PD1 = (element11, element12, element13)
- PD2 = (element21, element22, element23)
- PD3 = (element31, element32, element33)
Logic goes like
- If (PD1.element11) is selected display PD2 & PD3
- If (PD1.element12) is selected display PD2, disable PD3
- If (PD1.element13) show or disable PD2 & PD3
With Jira Workflow Toolbox you can implement a validation in a transition (also at "Create Issue" transition) indicating incompatible value selection for fields PD1, PD2 and PD3. To do it you can use Boolean validator with math, date-time or text-string terms with the following configuration:
Text to be parsed is: (%{11800} != "element12" OR %{11801} != null AND %{11802} = null) AND (%{11800} != "element13" OR %{11801} = null AND %{11802} != null)
Note that field codes in the particular instance of Jira used for this example are:
- %{11800} is field code for custom field "PD1"
- %{11801} is field code for custom field "PD2"
- %{11802} is field code for custom field "PD3"
Once configured, transition "Create Issue" will look like this:
Other examples of that function
- Block a transition until all sub-tasks have certains fields populated
- Block an epic's transition depending on linked issues status and due date
- Block or hide a transition for an issue depending on its issue links
- Block or unblock a transition after an issue rested a specific time in a status
- Block transition until all sub-tasks are in a specific status category
- Close parent issue when all sub-tasks are closed
- Enforce a field (Select List) to be set when another field (Radio Button) has a certain value (works with any kind of field type)
- Ensure that all issues linked with a certain issue link type have "Due Date" field set
- If field A is populated then, field B must also be populated
- Limit issue creation per role and issue type
- Limit the number of hours a user can log per day
- Limit valid dates for work logs
- Make "Time Spent" field required when there is no time logged in the issue
- Make a custom field mandatory when priority is "Critical" or "Blocker" and issue type is "Incident"
- Make attachment mandatory depending on the value of certain custom field
- Make different fields mandatory depending on the value of a Select List custom field
- Make linked issues, sub-tasks and JQL selected issues progress through its workflows
- Make parent issue progress through its workflow
- Prevent issue creation if another issue with same field value already exists
- Reject duplicated file names in attachments
- Require at least one sub-task in status "Resolved" or "Closed" when "Testing required" is selected in Check-Box custom field
- Require issue link when resolving as duplicate
- Restrict parent issue from closing if it has sub-tasks that were created during a given parent issue status
- Restrict sub-task type creation depending on parent issue status
- Restrict sub-task type creation depending on parent issue type
- Set a condition in a global transition which only applies in a certain status
- Validate a custom field "Story Points" has been given a value in Fibonacci sequence
- Validate compatible values selection among dependent custom fields
- Validate only issue links created in transition screen
- Validate that multi-user picker custom field A does not contain any user in multi-user picker custom field B
- Validation and condition based on time expressions
- Validation based on the value of a date type project property
- Validation on issue attachments
- Validation on MIME types of issue attachments
- Validation on sibling sub-tasks depending on issue type and status
- Validation on the value of a Cascading Select field