What are artifact conflicts and how are they handled?

When you run the connector, a conflict typically occurs when a target artifact is changed by a user after the last update by the connector.

Consider a situation where a new Project Tracker artifact is added and the connector creates a corresponding defect in Quality Center. After the latest synchronization, let's say the defect's priority was changed from "1-Low" to "2-Medium" in Quality Center, while it was simultaneously changed from "Low (P5)" to "High (P3)" in the Project Tracker artifact. This causes a conflict.

The connector detects the conflict and resolves it based on the CONFLICT_RESOLUTION_PRIORITY value for that synchronization in the SYNCHRONIZATION_STATUS table. Typically, the SYNCHRONIZATION_STATUS table contains two rows, where one row contains the CONFLICT_RESOLUTION_PRIORITY value "alwaysIgnore" for one direction of synchronization, and the second row contains the value "alwaysOverride" for the opposite direction.

In addition, there is a third option for the CONFLICT_RESOLUTION_PRIORITY value - "quarantineArtifact". This causes the connector to discard conflicting changes and save that artifact in the HOSPITAL table.