Synchronization is handled by processors which are responsible for sending data to the destination instance and processing received data from the other side.
Exalate uses synchronization processors to handle outgoing and incoming messages. We call them Sync Rules. You can find Sync Rules as a separate tab when you select the connection to edit.
What's a processor
There are 2 different processor types in the Sync Rules. Each with its own purpose.
For more details check the synchronization process explanation.
Defines what information is sent to the destination side.
Exalate runs the outgoing sync processor when you start the synchronization or update the local issue which is under sync.
You can assign issue fields to a replica on the outgoing sync. Check issue fields available for synchronization.
|Input||issue||local issue data you need to synchronize.|
|Output||replica||copy of the issue data which will be sent to the destination instance.|
Simple examples of the Outgoing sync rules
Condition example in the Outgoing Sync rules
Don't send anything when priority is trivial
When you receive data from the other side you need to apply this data on your instance. You can define how to handle the received information on your instance with the help of the incoming sync rules.
Exalate runs the incoming sync every time there's new data received from the remot side.
When you receive the synchronization data from the remote side for the first time, Exalate creates the issue locally in your instance.
Starting from this moment the issue is considered under synchronization(under sync). From that moment every issue update will trigger the update of the synced issue on the other side.
|Input||replica||information received from the source instance.|
|previous||previous information received from the source instance.|
|Output||issue||issue object which will be used to create/update the local issue.|
When you leave the incoming sync empty, then nothing is synchronized. Check the Unidirectional synchronization for more details.
Simple Incoming sync example
Incoming requests are distinguished based on the information stored in a replica.
So if you want to have different sync rules for the first synchronization and then others for synced issue updates you should use conditional statements.
More advanced configuration
You can set your own values for the local issue based on the received data from the other side.
For example, if the synced issue status changes to Done on the remote side → set the local issue status to Resolved.
To configure advanced conditions for your synchronization use script helper methods.
Check the example below.
By default, Exalate configures some basic scripts in the Sync Rules for your convenience.
Below is the default configuration of the Outgoing and Incoming sync.
It helps to synchronize basic issue data: summary, description, comments, resolution, status, attachments and project.
Default Outgoing sync
Default Incoming sync