Confluence has been updated to version 6.15.9

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Status
subtletrue
colourGreen
titleJira server

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

Data Filter

Snippet
replica.customFields."Product & Version" = issue.customFields."Product & Version"
 

Receiving side

 Map the parent value from the cascading select to the projects and if mapping for the option is not found or the option is not selected, use PRODX as a default.

Create Processor

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

Create processor

Snippet
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
  // ...
}