Transition Caller custom field type
A Transition Caller custom field type returns the user who first/last executed a specific workflow transition and is displayed as a String representing the display name of the user. It is a read-only field.
Adding a Transition Caller custom field type
To add a Transition Caller 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 Caller 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) and the execution of the transition 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 Caller custom field type, you can configure the Search template as User Picker & Group searcher
to be able to search issues for a user 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.
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 Caller 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 caller of different transitions with the same meaning across different workflows. For example: Imagine you want to capture the caller who triggers the transitions that lead to Resolved status. You have two workflows A and B, with transitions 21 and 51 respectively that lead to the "Resolved" status. 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 a Transition Caller 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 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.
Specifying the execution of selected transition(s) to look for
To specify execution of the selected transition that the field should look for;
- Locate the custom field on the Custom Fields administration page.
- Click on the cog wheel and click on
Configure.
- Select either
Latest
orEarliest
from theTransition Execution
field to capture the last or first transition execution respectively.
Customizing the display of the of the Transition Caller custom field value on the 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 select a format for a Transition Caller 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, the ApplicationUser object.$formattedValue
: a String representing the display name of the user- and other variables described on this page
For example:
#if ($value.isActive()) <font color="green"> $formattedValue </font> #else <font color="red"> $formattedValue </font> #end
displays the display name of the user in green if the user is active and in red if the user is inactive.
Customizing the display of the of the Transition Caller custom field value on the search list view
You can define a velocity template that will return the Html representation of the calculated custom field on the search list view. Leave it empty to use the default template.
To select a format for a Transition Caller 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, the ApplicationUser object.$formattedValue
: a String representing the display name of the user- and other variables described on this page
For example:
#if ($value.isActive()) <font color="green"> $formattedValue </font> #else <font color="red"> $formattedValue </font> #end
displays the display name of the user in green if the user is active and in red if the user is inactive.
Displaying the Transition caller custom field type on Transition and Edit screen
The Never show on Transition and Edit screens
option controls whether the Transition caller 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 caller 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 aApplicationUser
getAsString("Your custom field name")
or
getAsString("customfield_xxxxx")
that returns aString
representing a username.