Features used to implement the example
Example: Make a custom field mandatory when priority is "Critical" or "Blocker" and issue type is "Incident"
We will be able to implement this requirement using Boolean validator with math, date-time or text-string terms. I have implemented it successfully in a beta version of the plugin using the following configuration:
Text to be parsd is: %{00014} != "incident" OR (%{00017} != "Critical" AND %{00017} != "Blocker") OR %{10700} != null
Or to implement it we can use validator Validaton based on regular expression with the configuration shown in the following screenshot:
Text to be parsed is:
%{00014}@%{00017}@%{10700}
Incidnet@(Bloquer|Critical)@
Note that:
- To evaluate the value of fields "Priority" (field code %{00017}) and "Consequence of bug" (field code %{10700}) at the same time we compose a text with both fields using character '@' as separator.
- We check "Negate validation" since the regular expression introduced describes the kind of input we don't to admit.
Other examples of that functions
Boolean validator with math, date-time or text-string terms
- 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
Validatior based on regular expression
- Make "Affects Version/s" mandatory when issue resolution is "Fixed"
- Make a custom field mandatory when Priority is "Critical" or "Blocker"
- Make a custom field mandatory when priority is "Critical" or "Blocker" and issue type is "Incident"
- Make certain custom field required in resolve screen only if the resolution was set to "Fixed"
- Prevent addition of new sub-tasks if the parent issue is in "Resolved" or "Closed" status
- Validation on issue attachments
- Validation on the value of a Cascading Select field