JIRA ON-PREMISE
Introduction
Imagine you have two instances SD and DEV and you need to synchronize issues from SD to DEV.
In SD you have a Cascading Select List customField, having two values: product (parent) & version (child).
You want to select the correct DEV project based on the cascading field parent value 'product'.
Let's say you have, for example following products and corresponding DEV projects:
- product_X => PRODX
- product_Y => PRODY
- product_Z => PRODZ
The scripts below help to map the parent value from the cascading select list to the projects.
Sending side
Outgoing sync
replica.customFields."Product & Version" = issue.customFields."Product & Version"
Receiving side
Map the parent value from the cascading select to the projects and if a mapping for the option is not found or the option is not selected, use PRODX as a default.
Incoming sync
def projectMapping = [ "product_X": "PRODX" "product_Y": "PRODY" "product_Z": "PRODZ" ] issue.projectKey = projectMapping[replica.customFields."Product & Version"?.value?.parent?.value] ?: "PRODX"
Drop the synchronization (indicate that you don't want to create an issue on your side) if you don't find a mapping.
Incoming sync
def projectMapping = [ "product_X": "PRODX" "product_Y": "PRODY" "product_Z": "PRODZ" ] def projectKey = projectMapping[replica.customFields."Product & Version"?.value?.parent?.value] if (projectKey != null) { issue.projectKey = projectKey // your entire create processor goes here // ... }
See Also