What are synchronisation conflicts and how to resolve them?

To help you get a better understanding of any issues that emerge during the synchronisation of versions/components, the app has a conflicts resolution feature.

  • Conflicts page - This page can be found at Jira Administration > Manage Apps > Version & Component Sync. On this page all existing synchronisation conflicts are shown.

  • Extra logging - We’ve added extra logging functionality to conflicts to ensure you get detailed information about why it is emerging. To see the details of why a conflicts has emerged, you can click on the 3 dots at the right hand side.

  • Conflicts pop-up modal - To ensure you know there is a synchronisation conflict we’ve added the conflicts pop-up modal. This modal appears on the project administration page of your “Master” project whenever a conflict has emerged.

How to resolve synchronisation conflicts?

Synchronisation conflicts will block the propagation of changes to linked projects. To make sure the app keeps working as expected it should be free of any conflicts. The conflicts that emerge can be divided into two categories

  1. Conflicts that can be resolved manually by you

  2. Conflicts that have to be resolved with help from our support team

Conflicts that can be resolved manually

“A version with this name already exist in this project”

This conflict emerges when you try to rename a version in the “Master” project to a version name that already exists in the “Linked” project. Jira does not allow you to have two versions with the same name in a project. To resolve this conflicts you have two options:

  1. Rename the versions in the “Master” project to a name that doesn’t already exist in the “Linked” project

  2. Disable the synchronisation and manually remove the version from the “Linked” project.

“Cannot delete version(s) in project(s), it is used in one or more custom fields”

This conflict emerges when you try to delete a version that is used as a value of a custom field on an issue. We added this conflict as a safeguard to prevent the Version & Component Sync app from deleting potential valuable data. In order to resolve this issue you can take the following step:

  1. Disable the synchronisation and manually remove the version from the “Linked” project.

  2. Manually remove the version from the custom field of the affected issues.

“Cannot delete version(s) in project(s), it is used as value of the Affects Version(s) field of one or more issues”

This conflict emerges when you try to delete a version that is used as a value of the Affected Version(s) field on an issue. We added this conflict a a safeguard to prevent the Version & Component Sync app from deleting potential valuable data. In order to resolve these is issue you can take the following step:

  1. Disable the synchronisation and manually remove the version from the “Linked” project.

  2. Manually remove the version from the Affects Version(s) field of the affected issues

”Cannot delete version(s) in project(s), it is used as value of the Fix Version(s) field of one or more issues”

This conflict emerges when you try to delete a version that is used as a value of the Fix Version(s) field on an issue. We added this conflict a a safeguard to prevent the Version & Component Sync app from deleting potential valuable data. In order to resolve these is issue you can take the following step:

  1. Disable the synchronisation and manually remove the version from the “Linked” project.

  2. Manually remove the version from the Fix Version(s) field of the affected issues

“Cannot delete component(s) in project(s), it is used as value of the Component(s) field of one or more issues”

This conflict emerges when you try to delete a Component that is used as a value of the Component(s) field on an issue. We added this conflict a a safeguard to prevent the Version & Component Sync app from deleting potential valuable data. In order to resolve these is issue you can take the following step:

  1. Disable the synchronisation and manually remove the component from the “Linked” project.

  2. Manually remove the component from the Component(s) field of the affected issues

Conflicts that have to be resolved by support

The conflicts listed below need to be resolved in cooperation with our support team.

  1. Type of source is neither Version nor ProjectComponent”

  2. “Type of target is neither Version nor ProjectComponent”

  3. “Retrieving of versions from source project = null”

  4. “Unable to determine position due to a difference in version sequence between source project and linked project”

In case any of these conflicts emerge please get in touch with our support team via our customer support portal.

How to provide support details for synchronisation issues

By following the step-by-step plan below, you can help our support work as quickly and efficiently as possible.

  1. Navigate to Jira Administration > Manage Apps & disable the Version & Component Sync app

  2. Navigate to Jira Administration > System > Logging and Profiling and mark the logs as explained in this article

  3. Navigate back to Jira Administration > Manage Apps and turn Version & Component Sync back on

  4. Navigate to Jira Administration > Manage Apps > Version & Component Sync > Audit log and set the apps audit log to DEBUG

  5. Navigate to Jira Administration > System > Logging and Profiling scroll down and click on configure.

  6. Add package net.collabsoft and set logging level to DEBUG.

  7. Let the app run for at least 3 syncs

  8. Navigate back to Jira Administration > System > Logging and Profiling and mark the logs as explained.

  9. After performing the steps above, download the atlassian-jira.log. Read the following article on where to find the atlassian-jira.log.

  10. Add the relevant parts (between the initial marker and the final marker) of the atlassian-jira.log to your support ticket

  11. Set the apps audit log back to INFO

Disable app

Mark logs

Set audit log

Configure logging level

Add package

Reset conflicts

All conflicts that emerge during synchronisation are stored in a database table. This database table will be cleaned by a scheduled task the app runs several times a day. If you wish to reset the conflicts table manually (for example to make sure you only work on conflicts that are still present in your system) please use the following query:

TRUNCATE TABLE AO_687793_VCSCONFLICT

Note: You will not lose any important data by resetting the conflicts table