A Calculated (scripted) Text/Html custom field type represents a text displayed as a String. It is a read-only field.
Adding a Calculated (scripted) Text/Html custom field type
To add a Calculated (scripted) Text/Html 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 (scripted) Text/Html Field
and select it. - Click on
Next
. - Provide a name for the custom field.
- You can optionally provide a description of 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.
If you have upgraded from JMCF 1.x
to 2.x
please refer to the upgrade guide.
Search template
When creating a Calculated Text custom field type, you can configure the Search template as Free text searcher
or Exact text searcher (Statistics
-compatible
) to be able to search issues either with a free text or the exact text for that custom field value. Exact text searcher (Statistics-compatible)
searcher allows calculated text fields to be used in statistics gadgets. 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 (scripted) Text/Html custom field type
Starting from 2.0.0 BeanShell has been replaced by Groovy in the JMCF add-on. Scripts written in BeanShell will work unchanged in Groovy except for some specific cases.
To write a formula for the Calculated (scripted) Text/Html 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 single/multi- line text. 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 help editor, the Groovy formula must return either a simple String or null
Examples of Groovy formula for a Calculated (scripted) Text/Html custom field:
A simple String:
"JMCF 2.0.0"
A Groovy expression to reference any field of the issue that returns a String, for example, the Summary of the issue.
issue.summary
A Groovy expression that includes Groovy operators such as the String concatenate.
issue.get("summary") + textutils.noNull(issue.get("description"))
A Groovy expression that includes Groovy method calls, for example, to replace a specific String using the
replace()
methodissue.get("description").replace('Cloud','Server')
Customizing the display of the Calculated (scripted) Text/Html custom field type value
You can define a velocity template that will return the Html representation of the calculated custom field. Leave it empty to use the default template.
To select a format for a Calculated (scripted) Text/Html 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 String$formattedValue
: a String- and other variables described on this page
For example:
<font color="red"> $value </font>
Displaying the Calculated (scripted) Text/Html custom field type on Transition and Edit screen
The Never show on Transition and Edit screens
option controls whether the Calculated (scripted) Text/Html 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 (scripted) Text/Html 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")
or
getAsString("Your custom field name")
or
getAsString("customfield_xxxxx")
that returns a String.