This is the documentation of JSU for Jira Server/Data Center. If you are using JSU on Jira Cloud, you can find the documentation here.
The 'Transition Trigger Service' is available from JSU 2.0
Description
This is a simple background job (JIRA service), which triggers a transition on all issues, which are found by a certain JQL query.
The Transition Trigger Service post function provides also some functionality to trigger a transition on some issues. Depending on your use case you might use this service or that post function.
Configuration
Add the service
See Atlassian's documentation for more information how to confiugre JIRA services.
You must enter the following value as class.
ch.beecom.jira.jsu.jiraservice.TransitionTriggerService
Define all paremeters
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 real production it is a good idea to create a separate 'technical' user (not used by any real human), with a special name (for exmample '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.
JQL query
Any valid JQL query.
We recommend to use a JQL query which 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 as a cause of that, they remain in the result of the JQL query. Those remaining issues then would be unnecessary 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 to perform the transition.
Example
Cleanup
See the details of the above screen shot. Often people forget (or are too lazy) to close all resolved issues. With the above configuration they will be automatically closed after 2 weeks.
Scheduled status change
Some of our customers are also using the transition trigger to schedule some automatic status change.
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 on 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.
Known Issues
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.