Our new Appfire Documentation Space is now live!

Take a look here! If you have any questions please email support@appfire.com

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 44 Next »

JSU for Jira Server/Data Center

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.

Description

The 'Copy Value From Other Field' post-function copies the value of one field to another field. Since JSU 2.1.0 you can configure any number of source / destination field pairs. In addition to copying values from fields, this post-function can also copy from/to comments.

The copy operation will be performed either within the very same issue or to / from some related issue.

Configuration

You must specify the relation between the source and destination issues for the field to copy. Then you can add any number of field pairs to perform the copy operation.

Precondition

There are several ways in which preconditions can be evaluated in the context of a post function:

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

  • True (Precondition must be true to execute a post function)

  • False (Precondition must be false to execute a post function)

Learn more in Workflow preconditions.

Issue Relation

Several of JSU's workflow modules provide the option to define the scope of the module on some related issues.
For example, instead of copying a field within an issue during a post function, you might choose to copy it to a sub-task.

Types of Issue Relations

The related issue will be found by one of the following Jira concepts:

  • Issue Link
    You can define the link type to define which issues exactly will be affected by the operation.
    Since JSU 2.2.0, we introduced the value ANY. The operation will be performed on any linked issues.

  • Parent / Sub-Task
    The related issue is either parent or sub-task of each other.

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

  • JQL
    A JQL query will be executed to find the issues, which will be affected by the post function. You can use some placeholders in the JQL query, which will be replaced with the current field values of the issue in transition. For writing the JQL query please follow the instructions on JQL Reference.
    See our JQL Use Cases for some examples.

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 that triggered a workflow condition/validator/post function to be executed.

Source and Destination

For example, the Copy Value From Other Field Post-Function allows you to define the issue in transition as the source or destination of the copy operations, while you define the other end with an issue relation.
The field value will then be read from the source issue and be written to the destination issue.

Other workflow modules do not have source and destination. So you just define the issue relation that will apply to that workflow module.
For example, Create a Linked Issue will just create a new issue and then connect it with some Issue Relation to the issue in transition.

Restrictions

  • Copy Value From Other Field Post-Function: there should be only one source issue. Otherwise, it is not clear from which the value will be read. (The current implementation will just randomly pick one of them and ignore the rest.)

  • If you use Create a Linked Issue to create a new sub-task, you must also configure this post function to create the new issue as an issue type of a sub-task and make sure the target project is the same as the one of the issue in transition.

Some of these restrictions are mentioned as 'must be' within the options to configure the issue relation.

We try to perform whatever is possible. In case of problems, the workflow module will still run but a message is entered into the log file. See Troubleshooting for how to turn on the full logging for JSU. This is recommended while you test any new workflow configuration.

Please note that there are also restrictions concerning the post function's position.

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 into 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 other users than the 'Perform As User' user. 

Copy Fields

When configuring your post function, you can copy the value from a source field to a destination field. Click the + Add button to add additional field pairs to your configuration.

Note that not all conversions from source to destination field are supported, nor feasible. We can only ensure that it will work if the source and destination fields are of the same field type, or if the destination field is a text field. Some additional combinations of different field types might work as well, however, they are not 'officially' supported.

Overwrite / Append / Prepend

For text fields and some fields that can take multiple values (e.g. checkboxes), you can choose to overwrite, append or prepend the new value to any existing value. In the case of a text field, you can also choose a separator that will be placed between the values.

Create version if necessary

If your origin issue has a version, it can be copied to the linked issue.

If the destination field is 'Fix Version/s', 'Affects Version/s' or a custom field of type 'Version Picker', you can choose to create a new version in the target project, if it does not yet exist. If you don't select this option and that version does not yet exist, an error message will be displayed to users and the transition won't complete.

The new version will be created even if the user does not have the 'Administer Projects' permission. (Normally a user needs that permission to be able to create a new version.)

Special 'Sources'

  • *** default value ***: The default value of the destination field will be set.

  • *** empty ***: The destination field will be set with the empty string value. When overwriting a field value, the resulting destination value will be null. When appending/prepending a field value, the resulting destination value will be the concatenation of the existing field value (if any) and the separator. If the aim is to clear the destination field value, then use the JSU "Set Any Field Value" or "Clear Field Value" post functions. (See: Post-Function Concatenation Operations)

  • *** transition comment ***: The comment, which the user entered on the transition screen.

  • *** last comment ***: The last (most recent) comment on the issue before the transition was started.

Special 'Destinations'

  • *** new comment ***: Create a new comment with the value from the source field.

Also see the note about supported field types further down.


Position of the Post Function 


It is important to place the post function in the correct order of other post functions.


Create Transition

(info) The 'Create' transition is the very first transition, which does not yet has a source status (only destination status - usually Open, but could also be another).

If you are using the "Copy Value From Other Field" post function in the Create transition, in general you must position it BEFORE the "Creates the issue originally." and before the "Re-index an issue to keep indexes in sync with the database." post function.

For certain field types (used as source or destination) "Copy Value From Other Field" has to be positioned AFTER "Creates the issue originally." but before "Re-index an issue to keep indexes in sync with the database."
Affected fields are:

  • Watchers
  • Labels
  • *** new comment ***
 Click here to see an example for the Create transition configuration


Exception for "Copy Value From Other Field" used on create transition to populate value from linked issues

If you are using the "Copy Value From Other Field" post function in the Create transition and you would like to copy values from linked issue (Issue Linking: Issue in Transition = Source, Issue Linking: Issue in Transition = Destination, Parent / Sub-Task, Epic / Issue in Epic)

"Copy Value From Other Field" has to be placed after Creates the issue originally. An issue has to be firstly created, then relation between these linked ticket is established and only then values will be properly copied from/to linked issue.

Any other Transition (not Create)

Put the "Copy Value From Other Field" post function anywhere before the "Update change history for an issue and store the issue in the database." post function.

Example

A workflow is configured so that the 'Resolve' transition has the 'Copy Value From Other Field' post-function. The function is configured to copy the value of the 'Assignee' field to the 'TextField' field. If a user resolves an issue on this workflow, the value of the 'Assignee' field will be copied to the 'TextField' field after the issue is resolved.

Supported Field Types

JSU supports many different field types such as system fields and custom fields. However you should be aware, that not all field types are supported, and not in all combinations. We aim to cover the most important field types and are continuously adding and improving how different field types are supported. Some custom fields of other third-party apps might never be supported.

For that reason, you should always test anything you do with the JSU app with fields. You can try it with a free 30-day evaluation license.





  • No labels