Getting Started With Customization

Getting Started With Customization

On this page

Summary

This will provide an example of how to provide a customize clone operation. You must be a JIRA Administrator to do customization. If you are on at least release 3.1, you can configure customization via the Configuration user interface. Prior to release 3.1, you will also need access to the JIRA installation server file system.  You should do this on a test environment before moving to production! Both the default clone plus operations and specialized clone plus operations can be customized.

We recommend just doing a simple customization on the default clone plus operations to set fieldExcludes and leave all other customization to the specialized operations. In your environment, it is likely there are a bunch of custom fields that should NOT be copied when cloning issues. It is easy to exclude them by adding a global fieldExcludes line in your clone-plus.properties. If necessary this can be extended or overridden on a specific custom action.

Start simple

Start by doing a simple customization following the steps below and one of the examples on this page. Once you are comfortable with the process, you can look at the detail documentation for all the customization possibilities: Clone properties

Steps

Step

Detail

Examples

Pick a number from 1 to 8 to uniquely identify the customization to be used



Decide whether you need a base clone or extended clone custom action

  • base clone actions maintains the project and issue type of the original issue

    • up to 8 of these can be distinctly customized via properties

  • extended clone actions allows the project or issue type to be changed

    • up to 8 of these can be distinctly customized via properties


Enable the module corresponding to your picks from step 1 and 2

 See How to enable and disable actions.


Have you already done some customization with the property file?

If not, create a clone-plus.properties file in the JIRA home directory


The property file works based on named entries that start with a prefix

The prefix corresponding to the selection of number and type from step 1 and 2

  • Use prefix 1. for customization number 1 using the base clone plus action (not allowed to change the project)

  • Use prefix 2.plus for customization number 2 using the extended clone plus action that allows the project to be changed

Set the name of the operations so something meaningful for your users


  • 1.label = Clone

  • 2.plus.label = Clone to requirements

Set the condition that determines whether or not the action is valid for a specific issue

If no condition is set, the operation will not show up for any issue!

Tip: for testing, limit the action to a test project until you are happy with the rest of the customization

  • Valid for all issues: 1.condition.*.*.* = true

  • Valid only for project XYZ: 2.plus.condition.XYZ.*.* = true

  • Valid only for project XYZ bugs: 3.condition.XYZ.1.* = true

Add other condition elements


  • Valid only for developers and administrators (requires release 3.1 or higher for multiple roles):

    3.role.* = developers, administrators

Test



Add other properties to match your requirements

See Clone properties for all the customization points


Test



Example

This example properties file defines two custom clone operations. See Clone properties for more information.

Example clone-plus.properties
# Example property file for Clone Plus # More details are available in the Administrator Guide: https://bobswift.atlassian.net/wiki/display/JCPP/Administrator%27s+Guide ## Custom 1 # Show this operation for all projects, issue types and status 1.condition.*.*.*.* = true # Enable Bulk Clone 1.bulkClone = true # Restrict clone operation to support and administrators 1.role.* = Support, Administrators # Names that show to users 1.label = Escalate to Engineering 1.tooltip = Creates a task for Engineering # Set default clone options 1.option.copyAttachments = true 1.option.copyWatchers = false 1.option.copyWorklogs = hide # Set clone options available for fields 1.option.copycustomfield_11060 = true 1.option.copysummary = false 1.option.copyfixVersions = true 1.option.copycomponents = false 1.option.copyduedate = true 1.option.copyassignee = false 1.option.copytimeestimate = true 1.option.copysecurity = false # Set target project 1.project.*.*.* = ZCLONE # Set project category 1.condition.*.*.*.newcategory = true ## Custom 1.plus # Show this operation for all issues of type bug (id = 1) or task (3) 1.plus.condition.*.1.*.* = true 1.plus.condition.*.3.*.* = true 1.plus.bulkClone = true # Restrict clone operation so administrators 1.plus.role.* = Administrators # Names that show to users 1.plus.label = Clone for administrators 1.plus.tooltip = Custom clone operation # Map issue type to default to a task (id = 3) 1.plus.type.*.*.* = 3 # Set fields 1.plus.set.summary = Clone of issue with summary: %original_summary% # Set default clone options 1.plus.option.copyAttachments = true 1.plus.option.copyWatchers = false 1.plus.option.copyWorklogs = hide