Run synchronization

After you have created a Connection and added a Synchronization Pair for it, you are ready to synchronize data between to two systems by running the Synchronization Pair. You can do this either manually, or by setting up a scheduled Job to run the synchronization automatically at an interval of your choosing. It may also be desirable to configure a job to run synchronizations frequently.

Run synchronization manually

To explicitly invoke synchronization manually, click the Execute link for the Synchronization Pair on the Sync Configuration page. The progress and log of the synchronization can be seen in the Monitor topic of project Navigation. (For testing, it can be useful to open this topic in a different browser tab before executing the synchronization.) Look for the job named Synchronization of [SYNC PAIR NAME] (where [SYNC PAIR NAME] is the name of the Synchronization Pair executed).

Create a synchronization job

You can optionally automate synchronization by creating a scheduled Job to run the Synchronization pair at an interval of your choosing. You create jobs in the Scheduler topic of Global administration. For more information, see Configure the Scheduler.

In the Scheduler, you need to create a new <job> element. Since Synchronization Pairs are configured in the project scope, it is essential to specify the project ID in the scope attribute.

Example 1:

<job id="synchronizer" name="Connector Sync Job" scope="project:MyProjectID" cronExpression="0019?*MON-FRI">
    <syncPair>[SYNC PAIR ID]</syncPair>

</job>  
  • Use synchronizer as the value for the id attribute.

  • Use any meaningful string in the name. This is the name that will appear in the Scheduler's list of jobs.

  • In the above example, replace MyProjectID with the actual ID of the project that the Synchronization Pair to be executed is configured in.

  • The cronExpression attribute is optional. It's only used if you want the job to run automatically at some defined interval.

  • The <syncPair> element, replaces the [SYNC PAIR ID] of the actual ID of the Synchronization Pair that will be executed by this job. To avoid errors, open the Synchronization Pair configuration in another browser tab and copying the configured ID.

Example 2:

 <job id="synchronizer" name="Jira Sync 1" scope="project:elibrary">
    <syncPair>Jira - Defects</syncPair>
</job>

Configure frequent synchronization

When teams work concurrently with Polarion and another tool, such as Siemens Teamcenter, Atlassian Jira, or Microsoft Team Foundation Server (TFS), it can be desirable to run the synchronization between these systems frequently so that the teams see changes in a timely manner. The scheduler in Polarion can be configured to run a scheduled job that in turn runs Sync Pairs. The job can be configured to run Sync Pairs as often as desired, within certain limits — see Caution below.

Because Sync Pairs typically have more items in scope than necessary, and synchronization time increases with the number of items, the scope should be restricted when a Sync Pair is run frequently by a job. You can limit the scope by using a system-specific query expression. For example, the expression updated:$today$ limits the Sync Pair to Polarion items that have been changed on the current date. A similar query must also be used for the remote system.

Caution:

The frequency of the job running a Sync Pair must be larger than the running time of the Sync Pair when the maximum number of items are in scope. For example, in a scenario where 500 items are changed daily, and the running time of the Sync Pair for these 500 items is 3.5 minutes, the frequency of the scheduled job that runs the Sync Pair should be at least 5 minutes. Otherwise, there could be a number of jobs stacking up as newly triggered jobs wait for the previous one to finish.