Linked Transition

 

 

The Linked Transition post function is available from JSU 2.0

Description

This post function triggers a transition on a related issue. It can be very powerful in conjunction with the Create a Linked Issue post function to 'connect' the workflows of two issues.

You can also specify any number of fields, that will be copied to the related issue.

The Transition Trigger Service provides also some functionality to trigger a transition on some issues. Depending on your use case you might use this post function or that service.

Configuration

Precondition

You have several different options, on which related issue the transition will be triggered.

Transition

When the post function is performed, it will trigger the transition with that particular id (51 in the example above) on the linked issues. If one of the linked issues uses a different workflow, but has a transition with the same id, that transition will be triggered. The name of the transition you see in the configuration screen actually does not really matter. What matters is only the id. If you want to trigger only the transition on one workflows in that case, use the JQL scope and select the issues to transition with a query similar to issue in linkedIssues({issue.key}) and project = “PR Next Project”.

If the transition with that id is not available on the linked issue (probably because it is in a different status) nothing will happen. Also no comment or fields are copied, no resolution is set.

It is important to keep this in mind and design your workflows accordingly to prevent them to become sort of 'out of sync'. You might also use several 'Linked Transition' post functions in the same transition, each calling a different target transition, to match possible different statuses of the linked issue.

Also be aware, that there might be some workflow conditions or validators, which could prevent a transition to be performed.

The transition on the linked issue will be performed as the same user, who triggered the transition on the origin issue. If he does not have the necessary permissions, nothing will happen.

Perform Linked Transition as User

If you don't specify anything here, the transition on the related will be performed under the same user, who triggered this post function on the origin issue. Thus that user must have the necessary permissions on the related issue.

However, in some restrictive setups that user might not be allowed to do so on the related issue. He might not even see the project of the related issue!

With 'Perform Linked Transition as User' you can specify a different user account that owns the necessary permissions. Usually this user account is assumed to be only technical, with broad permissions, but not used to log into Jira by in life persons.

Resolution

If any transition screen contains the resolution field, that field becomes mandatory. Here you have a chance to set a value for the resolution to be able to perform that transition.

Resolution here in the Post Function Configuration

Resolution on the issues at the beginning when the transition is performed

What happens?

Resolution here in the Post Function Configuration

Resolution on the issues at the beginning when the transition is performed

What happens?

empty

(does not matter)

The resolution on the issue won't be changed.



None

(does not matter)

The resolution will be set back to 'unresolved' (cleared).

Any value

unresolved

The resolution will be set to the defined value.

Any value

Any other value

The resolution won't be changed.

All other sibling issues must have one of the following statuses

This allows you, that only 'the last' issue will trigger a linked transition.


Consider the following structure of linked issues from our Linked Transition use case:

A test case issue has several linked bugs. The bugs are linked as 'from test' to the test case.

Only when the last bug is fixed, the test case should be set to the Status 'Ready for Re-Test' (this is the transition 'All bugs fixed (51)' in the above screenshot).
The prevent this transition to be executed already when the first bug is fixed, we configure here two statuses

1 All other issues linking to the target must have one of the following statuses: Resolved, Closed

(Resolved is not visible in the above screenshot, but actually selected further down in the list of statuses.)

If bug 3 in the above diagram is resolved, nothing will happen, because bug 4 still has another status (than Resolved or Closed). Finally after that, bug 4 is resolved - all bugs now have status Resolved (Closed would also be ok) - now the transition ('All bugs fixed (51)') on the test case is executed to set it to 'Ready for Re-Test'.

Copy Fields

These fields will be copied to the linked issue, after the transition has been performed.
The conditions and validators of your linked transition will still use the old field values.

Supported Field Types

Position of the Post Function

You must put this post function after all other post functions in the same transition.

Example

See the Use Case Testing and Fixing Bugs for an example of how several of our customers use it.

Troubleshooting

For general troubleshooting about JSU see Linked Transition.

If a linked transition does not get triggered, or it even block your origin transition, these are a few things to check:

  • Did you check the log files. There are cases when the linked transition is not performed silently. But you will find a message in the log files on the server. You might increase to logging level (as described in Linked Transition).

  • What happens when you manually click the linked transition. Does it work, or might there be a problem?

  • Does this problem only happen by another user? Check that the user performing origin transition, also has enough permissions for the linked transition.

  • Is there a transition screen for the linked transition? Is there any condition, validator or post function on the linked transition? Could these prevent the transition to be performed in an automatized way (with the 'Linked Transition' post function)?

  • In the order of all post functions of the origin transition, the 'Linked Transition' post function must be the last one.

  • Did you try to set a particular Resolution in the linked transition? Or with 'Resolution=empty' - does it then work?

  • Did you check the documentation above? You might find another hint on what to look for.