Connection to Crowd Fails due to URI-Reference required

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Summary

Symptoms

  1. Crowd users are unable to authenticate.

  2. Adding users to Crowd directory fails.

  3. Synchronisation fails.

The following appears in the atlassian-jira.log:

1 2 3 4 Caused by: java.lang.IllegalArgumentException: org.apache.commons.httpclient.URIException: URI-Reference required at com.atlassian.crowd.integration.rest.service.RestExecutor.<init>(RestExecutor.java:69) at com.atlassian.crowd.integration.rest.service.RestCrowdClient.<init>(RestCrowdClient.java:46) at com.atlassian.crowd.integration.rest.service.factory.RestCrowdClientFactory.newInstance(RestCrowdClientFactory.java:26)

Diagnosis

  1. Ensure that the OS user that start-up JIRA has the necessary permission to read JIRA's crowd.properties.

  2. Ensure that the atlassian-jira/WEB-INF/classes/crowd.properties file is complete and contain valid entries, as in The crowd.properties file documentation.

  3. Run the following SQL:

    1 SELECT d.directory_name, a.* FROM cwd_directory d JOIN cwd_directory_attribute a on d.id=a.directory_id WHERE d.directory_type='CROWD';

    It should return the following records. If it does not, please see the resolution section below.

    1 2 3 4 5 6 7 8 9 directory_name | directory_id | attribute_name | attribute_value ----------------+--------------+---------------------------------------------------------+-------------------------- Crowd Server2 | 10100 | com.atlassian.crowd.directory.sync.lastdurationms | 65 Crowd Server2 | 10100 | com.atlassian.crowd.directory.sync.laststartsynctime | 1313453356673 Crowd Server2 | 10100 | com.atlassian.crowd.directory.sync.currentstartsynctime | Crowd Server2 | 10100 | useNestedGroups | true Crowd Server2 | 10100 | application.name | jiraci Crowd Server2 | 10100 | application.password | admin Crowd Server2 | 10100 | crowd.server.url | http://derpydoo:6095/crowd

Cause

Some of the possible causes are:

  1. The server hosting Crowd has changed.

  2. An old crowd.properties file was used during the upgrade.

  3. There were recent network configuration changes.

  4. JIRA's crowd.properties is not accessible by JIRA user

Solution

Resolution

Recommended:

  1. Ensure that JIRA user has full permission to its crowd.properties

  2. Disable the Crowd Authenticator SSO, as in our Configure JIRA to use Crowd's Authenticator to enable SSO.

  3. Log into JIRA using a Local Administrator user in the JIRA Internal Directory.

  4. Recreate the connection as described in our Connecting to Crowd or Another JIRA Server for User Management documentation.

If you do not have internal admin access to JIRA, try the following:

Always back up your data before making any database modifications. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.

  1. Copy the below SQL into a text editor.

    1 2 3 4 5 6 INSERT INTO cwd_directory_attribute values (10101,'application.name','jira'); INSERT INTO cwd_directory_attribute values (10101,'application.password','jirapass'); INSERT INTO cwd_directory_attribute values (10101,'crowd.server.url',' http://172.27.1.21:8095/crowd/services'); INSERT INTO cwd_directory_attribute values (10101,'crowd.sync.incremental.enabled','false'); INSERT INTO cwd_directory_attribute values (10101,'directory.cache.synchronise.interval',3600); INSERT INTO cwd_directory_attribute values (10101,'useNestedGroups','false');

  2. Replace the id 10101 with the id returned in the SQL from the diagnosis section.

  3. Replace the server URL, application name and password appropriately. If you're unsure what values they should be, recreate the links using the first resolution or raise a ticket on support.atlassian.com.

  4. Back up the database.

  5. Execute the SQL update.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.