Status | ||||
---|---|---|---|---|
|
A Calculated Multi-user custom field type represents a collection of users and is displayed as a String representing the user display names. It is a read-only field.
Adding a Calculated Multi-user custom field type
To add a Calculated Multi-user custom field type to your instance:
- Log in to JIRA as an administrator.
- Go to the Administration icon and click on it.
- Click on
Issues - > Custom fields.
- Click on
Add custom field
. - Click on
Advanced
in the left panel. - Locate
Calculated Multi-user Field type
and select it. - Click on
Next
. - Provide a name for the custom field
- You can optionally provide a description for the custom field.
- Add options for the custom field.
- Click on
Create
- Associate the custom field to the appropriate screens.
- Locate the custom field in the Custom fields administration page and click on the cog wheel.
- Click on
Configure
and create a formula (explained below) for the field. - You can create multiple contexts if you need to associate different formulas with particular projects or issue types.
- Perform a re-index as prompted by JIRA.
Panel | ||
---|---|---|
| ||
|
Panel | ||
---|---|---|
| ||
Search template
When creating a Calculated Multi-user custom field type, you can configure the Search template as User Picker & Group Searcher
to be able to search issues for users in that custom field. If you select “None” for the searcher, then you won’t see any reference to this field in the Issue Navigator search fields. Note that changing a custom field searcher requires a re-index.
Configuring the Groovy formula for a Calculated Multi-user custom field type
To write a formula for the Calculated Multi-user custom field type;
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit Groovy Formula
- In the editor write a Groovy script that returns a String representing a comma-separated list of usernames or an array of usernames or a collection of ApplicationUser objects. Also, you can test your script against any issue using the Groovy script tester.
- Click on
Save.
As documented on the Expected Value tab of the Groovy editor help, the Groovy formula must return either:
- A comma-separated list of usernames
- An array of usernames
- A Collection of ApplicationUser objects
null
or []
Examples of Groovy formula for a Calculated Multi-user custom field type:
A Groovy expression returning a String representing the username
Code Block | ||||
---|---|---|---|---|
| ||||
"carter" |
A Groovy expression returning a String with comma separated values that represent usernames
Code Block | ||||
---|---|---|---|---|
| ||||
"carter,charlie" |
A Groovy expression returning an array of strings that represent the usernames
Code Block | ||||
---|---|---|---|---|
| ||||
["carter","charlie"] |
A Groovy expression returning an ApplicationUser object
Code Block | ||||
---|---|---|---|---|
| ||||
issue.get("reporter") |
A Groovy expression returning a collection of ApplicationUser objects
language | groovy |
---|---|
linenumbers | true |
Status | ||||
---|---|---|---|---|
|
Excerpt |
---|
A Calculated Multi-user custom field type represents a collection of users and is displayed as a String representing the user display names. It is a read-only field. |
Adding a Calculated Multi-user custom field type
To add a Calculated Multi-user custom field type to your instance:
- Log in to JIRA as an administrator.
- Go to the Administration icon and click on it.
- Click on
Issues - > Custom fields.
- Click on
Add custom field
. - Click on
Advanced
in the left panel. - Locate
Calculated Multi-user Field type
and select it. - Click on
Next
. - Provide a name for the custom field
- You can optionally provide a description for the custom field.
- Add options for the custom field.
- Click on
Create
- Associate the custom field to the appropriate screens.
- Locate the custom field in the Custom fields administration page and click on the cog wheel.
- Click on
Configure
and create a formula for the field (see below). - You can create multiple contexts if you need to associate different formulas with particular projects or issue types.
- Perform a re-index as prompted by JIRA.
Panel | ||
---|---|---|
| ||
|
Panel | ||
---|---|---|
| ||
Search template
When creating a Calculated Multi-user custom field type, you can configure the Search template as User Picker & Group Searcher
to be able to search issues for users in that custom field. If you select “None” for the searcher, then you won’t see any reference to this field in the Issue Navigator search fields. Note that changing a custom field searcher requires a re-index.
Configuring the Groovy formula for a Calculated Multi-user custom field type
To write a formula for the Calculated Multi-user custom field type;
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit Groovy Formula
- In the editor write a Groovy script that returns a String representing a comma-separated list of usernames or an array of usernames or a collection of ApplicationUser objects. Also, you can test your script against any issue using the Groovy script tester.
- Click on
Save.
As documented on the Expected Value tab of the Groovy editor help, the Groovy formula must return either:
- A comma-separated list of usernames
- An array of usernames
- A Collection of ApplicationUser objects
null
or []
Examples of Groovy formula for a Calculated Multi-user custom field type:
A Groovy expression returning a String representing the username
Code Block language groovy linenumbers true "carter"
A Groovy expression returning a String with comma separated values that represent usernames
Code Block language groovy linenumbers true "carter,charlie"
A Groovy expression returning an array of strings that represent the usernames
Code Block language groovy linenumbers true ["carter","charlie"]
A Groovy expression returning an ApplicationUser object
Code Block language groovy linenumbers true issue.get("reporter")
A Groovy expression returning a collection of ApplicationUser objects
Code Block language groovy linenumbers true issue.get("Watchers")
Customizing the display of the Calculated Multi-user custom field type value on issue detail view
You can define a velocity template that will return the Html representation of the calculated custom field on the issue detail view. Leave it empty to use the default template.
To write a velocity template for a Calculated Multi-user custom field type value:
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit Velocity Template
. - Input the template.
- Click on
Save.
You can use the following Velocity variables in the template:
$value
: the raw field value, a collection of ApplicationUser objects.$formattedValue
: String with comma separated values that represent the user display names, with avatars.- and other variables described on this page
For example:
Code Block |
---|
#set($separator = "")
#set($emailAddress ="")
#foreach($value in $value)
#set($emailAddress=$emailAddress+$separator+$value.emailAddress)
#set($separator = ",")
#end
$emailAddress |
to display the Email Address of the users in the calculated field.
Code Block |
---|
#if( $value.size() > 1 )
<span class="aui-lozenge aui-lozenge-success">$formattedValue</span>
#else
<span class="aui-lozenge aui-lozenge-new">$formattedValue</span>
#end |
displays the values in specific colored lozenge based on the number of users in the calculated field.
Customizing the display of the Calculated Multi-user custom field type value on search list view
You can define a velocity template that will return the Html representation of the calculated custom field in search result list views. Leave it empty to use the default template.
To write a velocity template for a Calculated Multi-user custom field type value:
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit List View Velocity Template
. - Input the template.
- Click on
Save.
You can use the following Velocity variables in the template:
$value
: the raw field value, a collection of ApplicationUser objects.$formattedValue
: String with comma-separated values that represent the user display names, with avatars.- and other variables described on this page
For example:
Code Block |
---|
#set($separator = "") #set($emailAddress ="") #foreach($value in $value) #set($emailAddress=$emailAddress+$separator+$value.emailAddress) #set($separator = ",") #end $emailAddress |
to display the Email Address of the users in the calculated field.
Code Block |
---|
#if( $value.size() > 1 ) <span class="aui-lozenge aui-lozenge-success">$formattedValue</span> #else <span class="aui-lozenge aui-lozenge-new">$formattedValue</span> #end |
displays the values in specific colored lozenge based on the number of users in the calculated field.
Displaying of the Calculated Multi-user custom field type on Transition and Edit screen
The Never show on Transition and Edit screens
option controls whether the calculated Multi-user custom field can appear on transition and edit screens. If you select this option, the field will not be visible on any Edit or Transition screen, even if it is added to the screen.
Accessing the Calculated Multi-user custom field from other Groovy scripts
You can access this field using any of the following getters of the Issue interface
get("Your custom field name") or get("customfield_xxxxx")
that returns aCollection
<ApplicationUser>
getAsString("Your custom field name")
or
getAsString("customfield_xxxxx")
that returns aString
with comma separated usernames.