TFS4JIRA Cloud Native | WIP- How to fix the error for synchronisation Assignee field from Azure to Jira

TFS4JIRA Cloud Native | WIP- How to fix the error for synchronisation Assignee field from Azure to Jira


❗ Error syncing Assignee from Azure to Jira

📝 Description of the issue

Users encounter a synchronization error when syncing items from Azure DevOps (ADO) to Jira using TFS4JIRA Cloud Native. The error occurs while mapping the Assignee field from a custom Azure field (Custom.JiraAssignee) to Jira.

Error Message:

Field : Custom.JiraAssignee value: {"value":"<name>, <name> <email>","valueType":"string"} is not in value mapping and default is set to Raise Error

🔍 Diagnosis

Although the Azure field is configured as an Identity type, the synchronizer incorrectly interprets it as a string field, causing the user mapping to fail. The system tried to match a user string against a value mapping, but the absence of a defined mapping and the "Raise Error" setting triggered a sync failure.

Field Configuration Screenshot

🛠️ Root cause

Custom identity fields in Azure DevOps are not recognized as real identity fields by TFS4JIRA Cloud Native. Instead, they are treated as string fields. When the synchronization attempts to match this string against Jira’s Assignee field (a user-type field), it fails unless value mapping is explicitly defined for each user string.

✅ Solution and workaround

✔️ Recommended solution

Use real user identity fields in both Jira and Azure:

  • Jira field: Assignee (user)

  • Azure field: Assigned To (String)

Mapping configuration:

  • Map Jira Assignee → Azure Assigned To.

  • Use the Users Mapping tab to maintain user mappings (Jira users ↔ Azure UPN/display name).

  • Set a default sync user to handle unmapped identities gracefully.

⚙️ Workaround (if you use a custom field):

If syncing from a custom field like Custom.JiraAssignee is necessary:

  1. Treat the Azure field as a string field.

  2. Navigate to Fields → Value Mapping.

  3. Add exact mappings for each incoming string value.

  4. Change the default error behavior:

    • From: Raise Error

    • To: Skip or set a safe default value (for example, Unassigned)

This avoids sync failures when encountering unmapped users.

🔗 Related Articles


Would you like this published as a Confluence article draft, or need help with any formatting adjustments?