How to Sync "Customer Request Type"

Originally asked by Shiva on 11 June 2021 (original question)


Hi,

We have upgraded our Jira from server to DC. We had issues with sync and able to clear all those. But now I don’t see that we cannot sync the Customer Request type(service desk field). We were able to sync that previously but its not working after we upgraded our Jira and Exalate.

I have tried adding this script in the rules but its not updating the customer request type in the Internal Jira.

Outgoing sync

replica.customFields.“Customer Request Type” = issue.customFields.“Customer Request Type”

Incoming sync (create processor)

issue.customFields.“Customer Request Type”.value = replica.customFields.“Customer Request Type”?.value

Can you please point me what I am doing wrong.

Thanks,

Shiva


Answer by Francis Martens (Exalate) on 11 June 2021

Setting the customer request is fully supported.
The normal course of action is

  • First try with a fixed value and see if that works
    • If it doesn’t - try to understand why
      is the value provided, what is expected by the api
      are there logs pointing to root cause
  • Then checkout the value being assigned dynamically. Is it in the same format

Comments:

Shiva commented on 11 June 2021

Hi Francis,

I have used fixed value in incoming sync and it is updating the internal ticket with that value whatever I select in the external ticket. So looks like the fixed value is updating the Customer request type.

So I used issue.customFields.“Customer Request Type”.value = replica.customFields.“Customer Request Type”?.value in the incoming sync and it updated the internal ticket with empty value.(removed the existing value “Everything Else” - check screenshot). Is it not grabbing the values? Can you check the script I used.

We have same matching all request types in both instances and they are working fine previously.

Francis Martens (Exalate) commented on 11 June 2021

Request types are specific to a service desk - you can’t have matching fields.

Check the content of replica.customFields.“Customer Request Type”?.value by using something like

debug.error("Replica = ${replica.customFields.'Customer Request Type'?.value}")

or inspect the remote replica …

Shiva commented on 14 June 2021

I have tried the debug method and I got the error message like this,

  • Error Detail Message: javax.script.ScriptException: com.exalate.api.exception.IssueTrackerException: Replica = rs/2df7be82-7129-49fa-b864-ca3994d0b763

It says sync rules error but I have added the script as mentioned above and also referred to this https://docs.idalko.com/exalate/display/ED/Jira+on-premise%3A+How+to+sync+Customer+request+type+field+in+Jira+Service+Desk

and customer request type sync (old community) but nothing is working.