This is the documentation of JSU for Jira Cloud. If you are using JSU on Jira Server or on Jira Data Center, see our JSU Server/Data Center documentation.
Description
The Follow Up Transition post function evaluates the workflow conditions of all the next transitions on the target status of the current transition. If exactly one condition is valid, that transition will be triggered as a follow-up.
Consider the following workflow:
Our issue has a mandatory number custom field.
At the end of the Go transition, we have configured a Follow Up Transition post function.
Each transition leading away from the status JUNCTION has a workflow condition:
'Under Five' has the condition: Number field < 5?
'Exactly Five' has the condition: Number field == 5?
'Over Five' has the condition: Number field > 5?
When the user performs the Go transition, this will always trigger a follow-up transition.
For example, if the user enters Number=3 during the Go transition, this leads to the IN PROGRESS status. If they enter 42, this leads to CLOSED.
We have been careful to configure our workflow conditions so that always exactly only one condition can be true. This way, the user will never be stuck at the JUNCTION status.
Configuration
The Follow Up Transition post function does not have any additional parameters to configure, however, you must have a least one workflow condition configured.
Conditions
Let's continue the example from above, where a number field is evaluated. We will configure three conditions; one for each outgoing transition from the JUNCTION status.
Under Five
Exactly Five
Over Five
Asynchronous Execution
There is a fundamental difference between Jira Server/Data Center and Jira Cloud in reference to post functions: In Jira Cloud, post functions of apps are executed asynchronously as a background job. This means a post function will be executed after the transition has been completed on Jira Cloud.
Note the following behaviors of the asynchronous execution:
If you are using multiple post functions, there is no guaranteed order in which they are performed. They might be executed in a different order from the one you set up in Jira's workflow configuration. Therefore, you cannot rely on any result of a previous post function. Also, the order in which the post functions are executed might be different every time the transition is performed.
If a post function encounters a problem (due to misconfiguration or the current data of a Jira issue), the transition (and all other post functions) will be performed regardless of the problem.
The result of a post function might not be visible immediately in the browser.
There are no error messages displayed to the user.
Simple Yes / No example
A simpler use case is, can apply when you have only two transitions leading away and you evaluate basically the same condition, but at one condition negated.
a == b?
You can use the Value Field conditions for this setup.
Check it: Follow Up Transition post function
Yes: Condition a == b?
No: Condition a != b?
Fast forward example
Some extra steps in your workflow might only be necessary if a condition is not fulfilled. Otherwise, that step could be skipped.
Management approval
See the Conditional Approval Process use case for another real-life example.
Troubleshooting
My workflow gets stuck in the Junction status
Not exactly one condition
Usually, the problem can be tracked down, by manually walking through what the post function would do:
If exactly one condition is valid
that transition will be triggered
It's important that you do your analysis with the same user that encountered the problem. There might be issues with permissions that could lead to a different result, depending on the user performing the transition.
If you look at an issue that got stuck in the Junction status: How many transition buttons does it have? Only if there is exactly one transition button, 'Follow up' will be triggered. If you have none or more than one transition button, you must review your workflow conditions on the transitions leading out from the Junction status.
If there is only one button, there might be something wrong with that following transition. For example, a validator could prevent the transition from getting completed. Try (with the same user, who got stuck in Junction) to click that button to see what happens.
Triggered transition fails
Another reason might be that the triggered transition does not run through. For example, if it has a validator configured, which fails.