Skip to end of banner
Go to start of banner

Clone Properties

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 116 Current »

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:

 Set target project

Class

project

Qualifier 1

project (key or id)

Qualifier 2

issue type (id)

Qualifier 3

status (id)

Value

target project (key or id)

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.

 Set target component

Class

project-component

Qualifier 1

project (key or id)

Qualifier 2

component (name or id)

Qualifier 3

NA

Value

target project (key or id)

Example without prefix

project-component.JRA.C1 = JRA2

Example description

Clone to JRA2 any JRA issue with component C1.

 Set target type

Class

type

Qualifier 1

project (key or id)

Qualifier 2

issue type (id)

Qualifier 3

status (id)

Value

target issue type (id)

Example without prefix

type.JRA.* = 1

Example description

Clone JRA issues to a bug (1).

 Set target component

Class

component

Qualifier 1

component (name)

Qualifier 2

NA

Qualifier 3

NA

Value

component (name)

Example without prefix

component.C1 =

Example description

Remove component C1 from cloned issues.

 Set target version

Class

version

Qualifier 1

version (name)

Qualifier 2

NA

Qualifier 3

NA

Value

version (name)

Example without prefix

version.V2 = V1

Example description

Map version V2 to V1

 Set link type

Class

linkType

Qualifier 1

NA

Qualifier 2

NA

Qualifier 3

NA

Value

Link name

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.

 Set link direction

Class

linkDirection

Qualifier 1

NA

Qualifier 2

NA

Qualifier 3

NA

Value

Link direction

Example without prefix

linkDirection = INWARD

Example description

Uses an INWARD link instead of the default OUTWARD link.

 Set clone option default behavior

Class

option

Qualifier 1

option name

Qualifier 2

NA

Qualifier 3

NA

Value

true or 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.

 Set clone option additional behavior

Class

option

Qualifier 1

option system or custom name

Qualifier 2

NA

Qualifier 3

NA

Value

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).

 Restrict who can see clone operation

Class

role

Qualifier 1

project (key or id)

Qualifier 2

NA

Qualifier 3

NA

Value

role (name)

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.

 When shown on UI

Class

condition

Qualifier 1

project (key or id)

Qualifier 2

issue type (id)

Qualifier 3

status (id)

Qualifier 4

project category (name or id)

Value

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:

 bulkClone

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

 fieldExcludes

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

 fieldIncludes

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.

 ignoreFields

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.

 label

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.

 tooltip

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.

 projectIncludes

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.

 issueTypeIncludes

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).

 retainCommentsOriginalDate

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.

 retainWorklogsOriginalDate

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.

 epicIssueTypesIncludes

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

  • No labels