Originally asked by John Anderholm on 05 April 2021 (original question)
In our setup, we are attempting to use a transition to Exalate issues in JIRA (Server). When the “Exalate” workflow transition is selected, the user is prompted with a screen presenting two custom fields:
Exalate Project
Exalate Issue Type
Both are “Select List (Single Choice)” fields. Using these fields, the target project and issue type will be selected, and then those values will be used for creating the new issue during the first sync. However, when using the “Exalate Now” post function, the custom fields are passed without their assigned values (i.e. the value
property is missing).
The outgoing script is setup like so:
Outgoing Sync Snippet
replica.customFields."Exalate Project" = issue.customFields."Exalate Project"
replica.customFields."Exalate Issue Type" = issue.customFields."Exalate Issue Type"
And the remote replica contains the custom fields but without the value
property:
Remote Replica Snippet
"customFields": {
"Exalate Project": {
"id": 14211,
"name": "Exalate Project",
"uid": "14211",
"description": "The project to Exalate to.",
"type": "OPTION"
},
"Exalate Issue Type": {
"id": 14209,
"name": "Exalate Issue Type",
"uid": "14209",
"description": "The type of issue to Exalate to.",
"type": "OPTION"
}
},
Since the id
/type
/description
properties are present, that indicates that the field name is being passed with the correct spelling. And there is a [JSU] validator in place to require a non-null value for both fields before the transition can occur.
I originally suspected it might be a delay issue - where the values set during transition weren’t yet available to the outgoing query. However, if I edit the issue and set the values before invoking the transition, they are still unavailable during the outgoing sync.
Additionally, I have implemented the following workaround:
- Remove the “Exalate Now” post function from the transition;
- Configure a trigger to exalate where:
Trigger If
"Exalate Project" is not EMPTY AND "Exalate Issue Type" is not EMPTY
In this scenario, the data is passed as expected. So it seems to be only during a transition that the value
of the custom fields are getting omitted/popped.