Problem

There might be several different error messages. One of them is related to a missing field you expect to get from the other side. 

Error Detail Message
Rest exception while creating an issue..... XXXXX is required

XXXX is the missing issue field name in the error message.


Cause

  • If you have some conditional structures in create processor and none of these conditions apply, Exalate throws an error.
  • Source side does not send data, required to create issue on the destination side(your side)


Solution

Adapt the code to unblock the synchronization and resolve the error. Don't sync issue received from the remote side if there's no enough data to create a local issue.

To resolve the error you will need to modify the incoming sync for new issues(create processor).

Check the examples below.

Example

// if the issue type name is Epic and the custom field "Epic Name" is empty, don't sync it
if (replica.type?.name == "Epic" && replica.customFields."Epic Name" == null) { 
  return 
}


//If the project key is SD and issue type is Incident, create a local issue in DEV  with Bug issue type.
if(replica.project.key == "SD" && replica.type.name == "Incident") {
  issue.projectKey   = "DEV"
  issue.typeName     = "Bug"
}
//If the project key is SDVEK and issue type is Change, create a local issue in DEV1C  with Task issue type.
else if(replica.project.key == "SDVEK" && replica.type.name == "Change"){
  issue.projectKey   = "DEV1C"
  issue.typeName     = "Task"
}
// if the received issue is not from SDVEK project, don't sync it
else {
  return
}

This workaround helps only to resolve the error and unblock the synchronization.

To fix the error you need to make sure the Source side sends required data. Check the Source side Outgoing sync(data filter).