You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 116
Current »
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.
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)
For example, 1.project.JRA.1.* will match an issue in the JRA project with has type bug (1) in any (*) status.
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: Examples: |
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. |
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.
Examples
Setting | Description |
1.plus.bulkClone = true
| For the specific custom clone operation 1: |
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: |
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.
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. |
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). |
Property file syntax
The clone property file follows standard property file format with some extensions and some clone specific conventions
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
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"
Clone specific conventions