Auto populate user picker field based on expression screen
The Approval Configuration screen displays the available properties to setup an Approval :
When selecting an user picker All or an user picker Any , you are able (Optionally) to specify expressions that identify
- users that will be filled on the user picker custom field in order to enable them to approve and
- users that will be removed by the user picker in order to exclude them.
just clicking on the icon showing on the right side of the select list:
Insert expressions identifying the users to insert in the user picker custom field
The Auto populate user picker field based on expression dialog requires an expression, respecting the expected syntax, that specify the users to insert in the user picker field (Can Approve or Reject) and, optionally, the users to erase from the list (Excluded).
You cannot specify the users to exclude (Excluded) without specify the users to add to the user picker field (Can Approve or Reject).
You are able to insert the allowed tags on the text areas simply performing a drag and drop of a tag inside the text area on the point you want add it.
You are able to select the values to insert inside the property tags.
Test the expression
You are able to test an expression in order to check if the list of users returned for an issue, on evaluating the Can Approve or Reject and Excluded, matches the expectations.
In order to test your expressions, you can specify an issue key, click on Run Test and review the list of users that are returned below.
Expected syntax
A valid expression requires that you respect the expected syntax.
The following diagram illustrates the expected syntax for valid expressions that you can specify in the Can Approve or Reject and the Excluded text areas:
The syntax that allows to specify the property's values expects a start end tag identifying the property:
- <users>...</users>
- <groups>....</groups>
- <roles>....</roles>
- <group-pickers>...</group-pickers>
- <user-pickers>...</user-pickers>
- <component-leads>..</component-leads>.
The admissible property's values depends by the selected Property:
- <users>
- Username, any username
- Reporter, key word to include in the list the issues's reporter
- Assignee, key word to include in the list the issues's assignee
- ProjectLead, key word to include in the list the concerned project lead
- Component Leads, key word to include in the list all the concerned Component Leads
- <groups>
- Group, any Jira Group name
- <roles>
- Project Role, any Project Role Name
- <user-pickers>
- User Picker custom-field, any user picker custom field identifier (Example: customfield_10125)
- <group-pickers>
- Group Picker custom-field, any group picker custom field identifier (Example: customfield_10188)
- <component-leads>
- Project Component, any Component Name
This setting maintain the Component Name and not the Component Id in order to allow reusing the Approval across Approval mapping for different Projects.
You are able to specify one or more Property's values.
Property's values are concatenated via the ','.
Example: <users>Tom Black , Nancy Green , Jack Red , Katy White</users>
The syntax that allows to specify a condition enabling a set of properties expect one of the following start end tag:
- <conditional-rule name="Conditional Rule Name">...</conditional-rule>
- <conditional-rule name="Conditional Rule Name " is-false>...</conditional-rule>
An expression can include zero, ore, more conditions enabling one or more properties.
Example: <conditional-rule name="Priority High"><groups>Managers</groups> </conditional-rule> <conditional-rule name="Priority High" is-false><users>Tom Black</users></conditional-rule>