Clone Properties

On this page

Description

The clone property file allows customized control over clone operations. This page describes how specific behaviors can be controlled. This page focuses on conditioning and control. See Setting fields for information on generally updating field values.

Property files are lines of key/value pairs that map keys to values - see property file syntax. The keys recognized by clone operations are defined below.

Start with Getting started with customization before diving into the details here.

Mapping keys

Mappings keys are dot-separated property names: prefix.class.qualifier1.qualifier2.qualifier3.qualifier4.

  • prefix - this is the profilePrefix or blank (default prefix) from the clone operation.

  • class - determines what mapping is being defined - like project, type, and so on.

  • qualifier(s)

    • one or more (dot separated) qualifiers - the number of qualifiers is dependent on the class

    • generic qualifier (*) matches any value of that position

For example, 1.project.JRA.1.* will match an issue in the JRA project with has type bug (1) in any (*) status.

  • More specific keys take precedence over more generic keys during lookup.

  • If you use names, make sure you escape blanks in names using \ as required by property file syntax.

Classes

The following are the classes available in Clone Plus for Jira:

Class

project

Qualifier 1

The key or id of the project.

Qualifier 2

The id of the issue type.

Qualifier 3

The id of the status.

Value

The key or id of the target project.

Example without prefix

project.JRA.1.* = JRA2

project.*.*.* = JRA

Example description

Clone to JRA2 any bug (1) from JRA project.

Set target project as JRA and create issues in the JRA project.

Class

project-component

Qualifier 1

The key or id of the project.

Qualifier 2

The name or id of the component.

Qualifier 3

NA

Value

The key or id of the target project.

Example without prefix

project-component.JRA.C1 = JRA2

Example description

Clone to JRA2 any JRA issue with component C1.

Class

type

Qualifier 1

The key or id of the project.

Qualifier 2

The id of the issue type.

Qualifier 3

The id of the status.

Value

The id of the target issue type.

Example without prefix

type.JRA.* = 1

Example description

Clone JRA issues to a bug (1).

Class

component

Qualifier 1

The name of the component.

Qualifier 2

NA

Qualifier 3

NA

Value

The name of the component.

Example without prefix

component.C1 =

Example description

Remove component C1 from cloned issues.

Class

version

Qualifier 1

The name of the version.

Qualifier 2

NA

Qualifier 3

NA

Value

The name of the version.

Example without prefix

version.V2 = V1

Example description

Map version V2 to V1

Class

linkType

Qualifier 1

NA

Qualifier 2

NA

Qualifier 3

NA

Value

The name of the link.

Example without prefix

linkType = Blocks

linkType =

Example description

Uses the Blocks link instead of the default clone link.

No link will be added.

Note

Must be the name of the link as shown on the Issue Linking admin panel. See How to customize automatic clone linking.

Class

linkDirection

Qualifier 1

NA

Qualifier 2

NA

Qualifier 3

NA

Value

The direction of the link.

Example without prefix

linkDirection = INWARD

Example description

Uses an INWARD link instead of the default OUTWARD link.

Class

option

Qualifier 1

The name of the option.

Qualifier 2

NA

Qualifier 3

NA

Value

The value of the option, that is, true, false, or hide

Example without prefix

option.copyAttachments = true

option.copyComments = hide

Example description

Set the Clone attachments option to default to checked (true) or not checked (false).

Use hide to prevent the option from being shown to users. No action will be taken.

Note

Valid option names are:

  • copyAttachments

  • copyWatchers

  • copyWorklogs

  • copyComments

  • copySubtasks

  • copySubtaskEstimates

  • copyParentVersions

  • copyLinks

  • copyEpicIssues

  • copyEpicIssueSubtasks

  • copyEpicIssueSubtaskEstimates

  • copyParentReporter

Examples:

  • While using the copyEpicIssues option with Clone ++ operation, if the issue type of the source epic does not exist in the target project, the default issue type is assigned to the cloned issue. If there is no default issue type defined, the issue type specified first in the order is assigned to the cloned issue.

  • When all the clone options are hidden during configuration, the Clone Options label is not displayed in the Clone window while cloning an issue.

  • If the Copy subtasks clone option is used while cloning an issue and the respective subtask workflow is configured with a validator on any of the fields or a condition fails, the subtasks are not created.

Class

option

Qualifier 1

The name of the system or custom option.

Qualifier 2

NA

Qualifier 3

NA

Value

The value of the system or custom option, that is, true or false.

Example without prefix

option.copycustomfield_11060 = true

Example description

Set the custom option field to default to checked (true) or not checked (false).

Class

role

Qualifier 1

The key or id of the project.

Qualifier 2

NA

Qualifier 3

NA

Value

The name of the role.

Example without prefix

role.JRA = Administrators, Developers

Example description

Restrict clone operation for project JRA to Administrators or Developers roles.

Note

Multiple roles can be specified using a comma separated list.

Class

condition

Qualifier 1

The key or id of the project.

Qualifier 2

The id of the issue type.

Qualifier 3

The id of the status.

Qualifier 4

The name or id of the project category.

Value

The value of the condition, that is, true or false

Example without prefix

condition.*.*.*.* = true
condition.JRA.*.*.* = false

Example description

Show action for all projects except JRA.

Condition

  • UI conditions apply to both default and custom clone operations.

  • The default clone operations (clone+, clone++) will always be displayed on the UI even if the condition property is not defined.

  • The custom clone operations will be displayed on the UI only if there is at least one condition property is defined and not false.

  • For issue type configurations, the following are different scenarios of displaying the target issue type in the Clone window while cloning an issue:

    • When the original issue type exists in the target project, it is displayed in the window.

    • When the original issue type does not exist in the target project, the default issue type of the target project is displayed.

    • When the original issue type does not exist in the target project and default issue type is not configured in the target project, one of the available issue types from the target project is displayed.

Other properties

The following are the other properties available in Clone Plus for Jira:

This behaviour enables bulk cloning of issues to the same or different project. This property is enabled for Clone+ and Clone++ default operations.

The bulk clone feature is available for Data Center only.

Examples

Setting

Description

1.plus.bulkClone = true

For the specific custom clone operation 1:

  • Cloning multiple issues at once is enabled

This behaviour excludes the fields from being copied from the parent issue to the target issue and the fields are not displayed on the UI when cloning an issue. A comma-separated list of System field names or custom field names or IDs (like customfield_10100) that are hidden in the cloned issue.

Examples

Setting

Description

fieldExcludes = fixVersions

Do not copy the fixVersion field for app provided Clone+ and Clone++ operations

1.fieldExcludes = ${fieldExcludes}, custom2

For the specific custom operation 1:

  • Do not copy anything from the previously set fieldExcludes property

  • Do not copy custom2

This behaviour displays the fields on the UI and includes the fields from being copied from the UI when cloning an issue. A comma-separated list of custom field names or IDs that are to be copied.

If a field specified in both fieldIncludes and fieldExcludes, it is not displayed in the UI when cloning an issue.

Examples

Setting

Description

fieldincludes = Priority

Show the Priority field for app provided Clone+ and Clone++ operations.

1.fieldIncludes = ${fieldIncludes}, Priority

For custom operation 1, show the Priority field in the UI.

This behaviour excludes the fields from being displayed on the UI and the fields are being copied from the parent issue to the target issue when cloning an issue. A comma-separated list of System field names or custom field names or ids that will not show up on the UI. If you want to set custom fields via properties and they are on the create screen, then they need to be on the ignoreFields list.

Examples

Setting

Description

ignoreFields = custom2

Do not show in the UI but copy custom2 field for app provided Clone+ and Clone++ operations.

1.ignoreFields = priority, custom2

Do not show the priority or custom2 fields on the Clone screen for custom operation 1.

Not applicable to the Attachment field as the copy attachments option is available while cloning an issue with attachments.

This behaviour allows the name of a custom operation to be customized. This is the name that appears to users. Only applies to custom operations.

Examples

Setting

Description

1.label = Escalate to Engineering

Custom operation named in a user friendly manner.

This behaviour allows the tooltip of a custom operation to be customized. This is the description that appears when hovering over the operation name. Only applies to custom operations.

Examples

Setting

Description

1.plus.tooltip = This creates a new issue for the development team.

Helps explain what the operation will do.

This behaviour enables the projects to be included for operations that allow the project to be changed. A comma separated list of project keys.

Examples

Setting

Description

projectIncludes = WEB, SUPPORT

For the app provided Clone++ operation, only show these projects in the project list.

1.plus.projectIncludes = WEB, SUPPORT

For the custom 1 plus operation, only show these projects in the project list.

This behaviour enables the issue types to be included for operations that allow the issue types to be changed. A comma-separated list of issue types.

Examples

Setting

Description

issueTypeIncludes = Bug, "New Feature"

For the app provided Clone++ operation, include only these issue types in the Type list (provided these issue types are available in the cloned project).

1.plus.issueTypeIncludes = Bug, "New Feature"

For the custom 1 plus operation, include only these issue types in the issue type list (provided these issue types are available in the cloned project).

This behaviour controls whether or not the original comment data is retained when copying comments to the cloned issue.

Examples

Setting

Description

retainCommentsOriginalDate = true

Retain original date for comments for app provided Clone+ and Clone++ operations.

1.retainCommentsOriginalDate = true

Retain original date for comments for custom operation 1.

This behaviour controls whether or not the original worklog date is retained when copying worklogs to the cloned issue.

Examples

Setting

Description

retainWorklogsOriginalDate = true

Retain original date for worklogs for app provided Clone+ and Clone++ operations.

1.retainWorklogsOriginalDate = true

Retain original date for worklogs for custom operation 1.

This behaviour controls whether or not the issues in an epic with the specified issue types are cloned when cloning an epic. A comma-separated list of valid issue types.

Examples

Setting

Description

epicIssueTypesIncludes = Bug, Story, "New Feature"

For the app provided Clone++ operations, when you choose to clone issues in epic, issues in the epic of type Bug, Story, and New Feature are cloned, other issues are excluded (provided these issue types are available in the target issues of cloned epic in a project).

1.plus.epicIssueTypesIncludes = Task, Story, "New Feature"

For the custom 1 plus operation, when you choose to clone issues in epic, issues in the epic of type Task, Story, and New Feature are cloned, other issues are excluded (provided these issue types are available in the cloned project).

Comma separated values

  • Double quotes for entries in values that need a comma separated lists are removed. 

  • Double quote names containing a comma.

Property file syntax

The clone property file follows standard property file format with some extensions and some clone specific conventions

  1. Standard property file syntax as defined by Java summarized by:

    • comment lines start with # or !

    • key value pairs with syntax like key = value

    • keys are separated from the value by a separator that is one of =, :, or blank

    • \ is the the standard escape character, use \\ if you need the \ character

    • blanks or other special characters within a key must be escaped

    • lines can be continued by escaping the line terminator - this means having a \ at the end of a line just before the line terminator

  2. For Clone Plus for JIRA release 2.2.0 and above, an Apache commons extension is supported summarized by:
    properties can reference other properties

    1.fieldExcludes = ${fieldExcludes}, "some other field"
  3. Clone specific conventions

Log a request with our support team.

Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.