Copy or Move Attachments Post Function

 

JSU for Jira Server/Data Center

This is the documentation for JSU for Jira Server/Data Center. If you are using JSU on Jira Cloud, see our JSU Cloud documentation.

The 'Copy / Move Attachments' feature is available from JSU 2.9.0

Description

The ‘Copy or Move Attachments’ post function copies attachments from/to all related issues. You can define which issue should be a source and which is a destination. Any number of attachments can be copied to the related issue(s).

Configuration

Example configuration of the Copy or Move Attachments post function using the options described on this page.

Precondition

If you are using preconditions with a JSU post function, you can use the following options to define how the precondition is evaluated:

  • Ignore precondition (default): Every precondition is ignored which means that the post function will always be performed

  • True: Precondition must be true to execute a post function

  • False: Precondition must be false to execute a post function

Issue relation

You have several options which define which issue/s will be treated as a source/ or destination for attachments. Related issues are evaluated by one of the following Jira concepts:

  • Issue Link: You can select the link type to define which issues will be affected by the post function action. Select ANY if you want the action to be performed on any linked issues.

  • Parent / Subtask: The related issue is either parent or subtask of each other.

  • Epic / Issue in Epic: This is only applicable if you have Jira Software installed. The other issue is either the epic related by an epic link, or it is part of an epic.

  • JQL: A JQL query will be executed to retrieve the issues. You can use placeholders in the JQL query which will be replaced with the current field values of the issue in transition. For tips on writing the JQL query, see JQL Reference.

Issue in transition

We use the term 'Issue in Transition' when we refer to the issue for which a workflow condition is checked, for which a workflow validator is examined, or for which a workflow post function is performed.

Or in other words, the issue which triggered a workflow condition/validator/post function to be executed.

Conditional copying attachments

Conditional copying attachment (controlled by custom field) is always checked only for the issue in transition, regardless of whether the issue in transition is a source or destination.

Source and destination

You can define the issue in transition as the source or destination of the copy operations. Other workflow modules do not have source and destination; you just define the issue relation, which will apply to that workflow module.

Perform As User

With Perform As User, you can specify a different user account that owns the necessary permissions. Usually, this user account is assumed to be only technical (impersonation), with broad permissions, but not used to log in to a Jira account as a person. 

If you don't specify a user here, the transition on the related issue is performed as the same user who triggered this post function on the origin issue by default. Therefore that user must have the necessary permissions on the related issue. In some restrictive setups, that user might not have the permissions on the related issue or even might not have access to the project of the related issue.

In combination with the User is in Any Users condition, you can hide a transition from all users other than the 'Perform As User' user.

Controlled by custom field

With a checkbox custom field on the transition screen, users can control some of the copy functionality.

For example, a Copy Attachments checkbox is configured as a custom field that enables copying existing attachments. If it is selected, all attachments will be copied. Typically this checkbox custom field won't appear on the normal issue screen. Instead of allowing a user to choose to copy/move the attachments, you can also configure it to either never or always copy them.

Move option

If you choose the Move option for 'Copy/Move Attachments added during Transition', when a user adds attachments on the transition screen of the source issue, it appears as if they added the attachments to all related issues. 

Position of the post function

Jira transitions include essential post functions that are executed in a specific order. When adding JSU post functions to a transition it is important to position the post function with respect to the essential post functions.

If you use ‘Move Attachment' you must position it before 'Update change history for an issue and store the issue in the database.’

If you use Move Attachments added during Transition it is important that the 'Copy / Move Attachments' post function is before Jira’s 'Update change history for an issue and store the issue in the database' post function.

In such cases the ‘Copy Move Attachments’ must be placed between ‘Update change history for an issue and store the issue in the database’ and 'Re-index an issue to keep indexes in sync with the database’.
Otherwise, the transition attachment will not be properly stored and it will be not attached to the current issue.

Existing attachments are not copied again

When an identical attachment (same file name and same content) already exists in the destination issue, it will not be copied again. This is the case for both, existing and transition attachments.

See Also