A Transition Count custom field represents the number of times a specified workflow transition(s) was executed and is displayed as a number in Double format.
Adding a Transition Count custom field type
To add a Transition Count 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
Transition Count Field
and select it. - Click on
Next
. - Provide a name for the custom field.
- You can optionally provide a description 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 specify the transition(s) to look for (explained below). - You can create multiple contexts if you need to associate different transitions to look for 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 Transition Count Custom field type, you can configure the Search template as
- Number range searcher - Allow searching for a number that is in a given range
- Number range searcher (Statistics-compatible) - Allow searching for a number that is in a given range. Supports Statistics Gadgets.
Using these searchers you will be able to search issues within a number range. The default search template is Number range searcher (Statistics-compatible). 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.
Number range searcher (Statistics-compatible) is a custom statistics compatible searcher provided by JMCF that allows Number type custom fields of Jira and JMCF to be used in the statistics gadgets. See here for more information.
Specifying the transition(s) to look for
To specify the transition(s) to look for:
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit Transition(s) to look for.
- Configure Transitions
Specify transition names or IDs: You can either manually provide the
name
orid
of the transition or use the Transition Count custom field type#Transition picker, and optionally specifying the workflow name.By specifying the workflow name you can use the same calculated field to capture the number of times different transitions with the same meaning across different workflows are executed. For example: Imagine you have two workflows A and B, with transitions 21 and 51 respectively that lead to the Rejected status and you want to calculate the number of times each issue has been rejected. You can add the two transitions of two different workflows to the configuration as shown below.
This is the preferred mode, as it allows differentiating between multiple transitions between the same two Statuses, and it also supports "auto-transitions" (that do not change the issue Status). However, it will not work reliably for "old" transitions that took place before major workflow changes or switching the issue to a new workflow entirely.
Specify from and to Statuses: You can specify the transitions by their
From
andTo
statuses.While this option doesn't allow differentiating between multiple transitions that move the issue between the same from and to statuses, and it doesn't work for "auto-transitions" (that do not change the issue Status), it will work reliably even for issues that changed workflows since the transition took place.
- Click on
Add
. - Click on
Save.
To remove the transition(s) to look for:
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure
- Click on
Edit Transition(s) to look for.
- Click on
Remove
for the transition you wish to remove. - Click on
Save
.
Transition picker
To pick a transition using the Transition picker:
- Click on
Transition picker
in theConfigure Transitions
screen. - Choose a workflow from Workflow name
- Select a transition from the list of transitions displayed
- Finally, click on either
Use Transition Name
- recommended if you want the post-function to search for the transition to trigger by name, which is useful when targeting multiple workflows.Use Transition ID
- if you want to differentiate between transitions that bear the same name.
Customizing the display of the of the Transition Count custom field 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 Transition Count 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 number in Double format$formattedValue
: a String representing a number in Double format- and other variables described on this page
For example:
<div style="border: dashed"> $formattedValue </div>
displays the value in a dashed box
Displaying the Transition count custom field type on Transition and Edit screen
The Never show on Transition and Edit screens
option controls whether the calculated Transition count 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 Transition count custom field type 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 a number in a Double format.getAsString("Your custom field name")
or
getAsString("customfield_xxxxx")
that returns aString
representing the number of times a specified workflow transition(s) was executed