JIRA 6.4 as an External User Directory does not Work with Confluence Version 5.7.x and Above
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Problem
There is a known compatibility issue that prevents the user management synchronisation between JIRA 6.4 and Confluence 5.7.x and above.
This will only affect you if you use JIRA to manage your Confluence users. The bug in JIRA is being tracked on - JRASERVER-42566Getting issue details... STATUS .
Synchronisation fails and the below exception is thrown in the atlassian-confluence.log file:
2015-07-22 13:49:12,755 INFO [Long running task: Synchronising JIRA Directory] [atlassian.crowd.directory.DbCachingRemoteDirectory] synchroniseCache failed synchronisation complete for directory [ 131073 ] in [ 946ms ]
2015-07-22 13:49:12,768 ERROR [Long running task: Synchronising JIRA Directory] [confluence.setup.actions.ConnectToJiraSyncDirectoryAction$SyncJiraDirectoryLongRunningTask] runInternal Synchronization failed.
-- referer: http://localhost:8090/setup/connecttojira-start.action | url: /setup/connecttojirasyncdirectory-start.action | userName: anonymous | action: connecttojirasyncdirectory-start
com.atlassian.crowd.exception.runtime.OperationFailedException: Error from Crowd server propagated to here via REST API (check the Crowd server logs for details): Class type for return values ('interface com.atlassian.crowd.model.group.GroupWithAttributes') is not 'String' or 'Group'
at com.atlassian.crowd.embedded.core.CrowdDirectoryServiceImpl.synchroniseDirectory(CrowdDirectoryServiceImpl.java:208)
at com.atlassian.confluence.setup.actions.ConnectToJiraSyncDirectoryAction$SyncJiraDirectoryLongRunningTask.runInternal(ConnectToJiraSyncDirectoryAction.java:213)
...
Caused by: com.atlassian.crowd.integration.rest.service.CrowdRestException: Class type for return values ('interface com.atlassian.crowd.model.group.GroupWithAttributes') is not 'String' or 'Group'
at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.throwError(RestExecutor.java:656)
at com.atlassian.crowd.integration.rest.service.RestExecutor$MethodExecutor.andReceive(RestExecutor.java:485)
at com.atlassian.crowd.integration.rest.service.RestCrowdClient.searchGroupsWithAttributes(RestCrowdClient.java:572) I
Diagnosis
Environment
- Confluence version: 5.7.x, 5.8.x
- JIRA version: 6.4
Diagnostic Steps
Case 1
- Set up Confluence 5.7.x and above with JIRA 6.4 configured as its User Management Server. To perform that, please refer to Connecting Confluence to JIRA for User Management.
- Perform Synchronisation.
Case 2
- Install Confluence 5.7.x and above as per the Confluence Setup Guide documentation.
Instead of managing users and groups within Confluence itself, choose Connect to JIRA and setup JIRA External User Management (JIRA 6.4 instance) instead.
Cause
This issue is caused by a known bug in JIRA ( - JRASERVER-42566Getting issue details... STATUS ), in which occurred due to the embedded crowd version that's bundled with JIRA 6.4 itself (crowd 2.8.1).
This has been fixed in JIRA 6.4.1 that's bundled with crowd 2.8.2.
Workaround
Upgrade to JIRA 6.4.1.