The 'Transition Trigger Service' is available from JSU 2.0
This is a simple background job (Jira service), which triggers a transition on all issues, which are found by a certain JQL query.
The Linked Transition and Follow Up Transition post functions provide also some functionality to trigger a transition on some issues. Depending on your use case you might use this service or those post functions.
In the following screen, you can configure the details of the transition trigger service.
User to run the JQL query and the workflow transition
Be aware that depending on the user who runs the JQL query, the result might be different. Not all users have the same permissions, so might not see all JIRA projects.
In production, it is a good idea to create a separate 'technical' user (not used by any real human), with a special name (for example 'automatic transition'). This will appear in the history of any changed issue. With a separate 'technical' user with special name it is transparent for the end users of Jira, what happened.
Any valid JQL query.
We recommend using a JQL query that returns issues only with a status, which actually does have a transition to the target status. Otherwise, it will not be possible to trigger a transition, and therefore, they remain in the result of the JQL query. Those remaining issues would then be unnecessarily processed again and again.
Target status in the workflow
The origin status of the issues does not matter. As long as there is a valid workflow transition to the specified target status, this will be triggered.
If there is no valid workflow transition, nothing happens with those issues.
Workflow conditions and validators might prevent performing the transition.
See the details of the above screenshot. Users did not close all resolved issues. With the above configuration, they will be automatically closed after two weeks.
Scheduled status change
Some of our customers are also using the transition trigger to schedule automatic status changes.
Consider a workflow with a status Ready and a status Executed. And a custom field 'Execution Date/Time'. We then use the following parameters:
JQL query: status = Ready AND 'Execution Date/Time' <= now()
To trigger those issues the transition to the
Target status: Executed
In that transition, you might for example use some Webhook to trigger an action on an external system.
This method is not supported in an UnloadableJiraServiceContainer
The following error message can appear during startup in the atlassian-jira.log file!
[INFO] [talledLocalContainer] 2020-10-20 18:25:00,010 Caesium-1-4 ERROR anonymous dadada [c.a.jira.service.ServiceRunner] An error occurred while trying to run service with ID '16900'. This method is not supported in an UnloadableJiraServiceContainer
[INFO] [talledLocalContainer] java.lang.UnsupportedOperationException: This method is not supported in an UnloadableJiraServiceContainer
[INFO] [talledLocalContainer] at com.atlassian.jira.service.UnloadableJiraServiceContainer.setLastRun(UnloadableJiraServiceContainer.java:86)
This only affects Jira Version 7.3.x during Startup. The Transition Trigger Service self is not affected after Jira successfully started.