Documentation for Crowd 1.0. Documentation for other versions of Crowd is available too.

Atlassian's Bamboo integration server can quickly be configured to use the atlassian-user libraries to link in single or multiple directory servers through Crowd.

To configure the atlassian-user framework, perform the following:

  1. Copy the Crowd integration libraries and configuration files as described in the 3.2.7 Integrating Crowd with a Custom Application documentation.
  2. Edit the \bamboo\webapp\WEB-INF\classes\atlassian-user.xml file to add the following repository:
    <repository key="crowd" class="com.atlassian.crowd.integration.atlassianuser.CrowdRepository">
    	<classes>
    		<processor>com.atlassian.crowd.integration.atlassianuser.CrowdRepositoryProcessor</processor>
    		<userManager>com.atlassian.crowd.integration.atlassianuser.CrowdUserManager</userManager>
    		<groupManager>com.atlassian.crowd.integration.atlassianuser.CrowdGroupManager</groupManager>
    		<authenticator>com.atlassian.crowd.integration.atlassianuser.CrowdAuthenticator</authenticator>
    		<propertySetFactory>com.atlassian.crowd.integration.atlassianuser.CrowdPropertySetFactory</propertySetFactory>
    		<entityQueryParser>com.atlassian.crowd.integration.atlassianuser.CrowdEntityQueryParser</entityQueryParser>
    	</classes>
    </repository>
    

    You will need to comment out the Hibernate repository key
    <!-- <hibernate name="Hibernate Repository" key="hibernateRepository" description="Hibernate Repository"/> -->
    
  3. This step is only necessary if you wish to enable single sign-on:

    Enabling Single Sign-On

    Single sign-on (SSO) is optional when integrating Bamboo and other Atlassian products. To use centralised authentication do not configure Seraph based authentication.

    Edit the \bamboo\webapp\WEB-INF\classes\seraph-config.xml, changing the authenticator node to read:
    <authenticator class="com.atlassian.crowd.integration.seraph.BambooAuthenticator"/>
    

Bamboo's authentication and access request calls will now be performed using the atlassian-user Crowd plugin.

When utilising the atlassian-user and Crowd framework together with Bamboo, it is highly recommended that caching be enabled. Multiple redundant calls to the atlassian-user framework are made on any given request. These results can be stored locally between calls by enabling caching in the Crowd 'Options' menu. In doing so, Bamboo will obtain all necessary information for the period specified by the cache in minutes. If a security change or addition occurs in Crowd, these changes will not be visible in Confluence until the item cache expires.

Additional configuration steps:

  • Create the 'bamboo' application via the Crowd Administration Console — for details on adding an application, see 3.2 Adding an Application. Make sure that you use the same password as configured in the crowd.properties file. 
  • Create a group bamboo-admin, through the Crowd console or directly in your directory server.

関連トピック  

Crowd 1.0 Documentation  

3 Comments

  1. user-c4e61

    There is no such file {{atlassian-user.xml when using }}bamboo 1.0-beta.

    1. user-c4e61

      This is fixed in 1.0-rc1

  2. user-c4e61

    When trying to integrate Bamboo 1.0.2 with Crowd 1.0.1, I get the following error:

    2007-03-21 23:35:44,967 ERROR [http-8085-Processor25] [ContextLoader] Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'delegationAccessor' defined in class path resource [applicationContextUser.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public com.atlassian.user.configuration.DelegationAccessor com.atlassian.user.configuration.xml.XMLConfiguration.getDelegationAccessor()] threw exception; nested exception is java.lang.RuntimeException: Atlassian User failed to initialize: Repository key cannot be null.
    org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public com.atlassian.user.configuration.DelegationAccessor com.atlassian.user.configuration.xml.XMLConfiguration.getDelegationAccessor()] threw exception; nested exception is java.lang.RuntimeException: Atlassian User failed to initialize: Repository key cannot be null.
    java.lang.RuntimeException: Atlassian User failed to initialize: Repository key cannot be null.
            at com.atlassian.user.configuration.xml.XMLConfiguration.getDelegationAccessor(XMLConfiguration.java:54)