This page last changed on Oct 05, 2009 by smaddox.


Beware of fiends and dragons on the gargoyled eaves. You are embarking on stage 2 of the Atlassian Dragon Quest.

In this stage, you will install Atlassian JIRA for bug tracking and issue management. You will also hook JIRA up to Crowd, for SSO and centralised user management.

Time estimate: This stage will take approximately 60 minutes.

On this page:

Step 1. Create your JIRA Database in PostgreSQL

Now you will create a database where the Atlassian JIRA application will store its data, and the user that JIRA will use to connect to the database. We are assuming that you have already created your PostgreSQL database server in Dragons Stage 1.

We are using pgAdmin III, the administration user interface supplied with PostgreSQL. If you used the one-click installer when installing PostgreSQL, pgAdmin III will be already installed on your computer.

  1. Start pgAdmin III.
  2. Add a new login role called 'jirauser':
    • Right-click 'Login Roles' and select 'New Login Role'.
    • Enter the role 'Role name': jirauser.
    • Enter a 'Password' and enter it again to confirm it.
    • Select 'Can create database objects'.
    • Select 'Can create roles'.
    • Click 'OK' to create the user.
  3. Add a new database called 'jira':
    • Right-click 'Databases' and select 'New Database'.
    • Enter the database 'Name': jira.
    • Select the 'Owner': jirauser.
    • Click 'OK' to create the database.

Alternatively, If you are on UNIX and do not have pgAdmin III, you can use the command line interface instead. Assuming that you are using the default installation directory of /opt/PostgreSQL/8.3/bin/, enter the following commands:

sudo -s -H -u postgres
# Create the JIRA user:
/opt/PostgreSQL/8.3/bin/createuser -S -d -r -P -E jirauser
# Create the JIRA database:
/opt/PostgreSQL/8.3/bin/createdb -O jirauser jira
exit

Screenshot 1 (click to enlarge): JIRA database and user in PostgreSQL

Step 2. Install JIRA

Requirements: JIRA 4.0.0.

For Windows: (click to expand)

For UNIX or Linux: (click to expand)

Full details are in the JIRA installation guide.

Problems? Please go immediately to the Dragon Slayers' Forum.
Victory?      Please continue.

Step 3. Set Up JIRA

Now you can run JIRA's Setup Wizard and then enable some JIRA features that are required for the later stages in this integration procedure.

  1. To access JIRA, go to your web browser and type this address: http://localhost:8080.
  2. The JIRA Setup Wizard will start up, to guide you through the process of setting up your JIRA server and creating an administration user. Detailed instructions are in the JIRA documentation. Here are the things you need to know for our Dragon Quest:
    • Base URL – Enter the full website address at which JIRA is running, not just 'localhost'. For example, if your computer name is 'coopers' then the base URL should be: http://coopers:8080. Or specify a website address, such as http://www.foobar.com:8080.
    • Leave all the default directories selected.
    • License – If you do not already have a JIRA license, follow the prompts on the Setup Wizard screen to get an evaluation license key.
      Make sure you have a JIRA 4 license. Existing 3.x licenses will not work.
    • Administrator account – This is the JIRA super user, and should be the same as the Crowd super user entered in Dragons Stage 1. Enter the following information:
      • Username: charlie.
      • Password – Enter a password for the administrator account and enter it again to confirm it.
      • Full name: Charlie of Atlassian.
      • Email address – We recommend that you give your own email address here.
    • Email notifications – For the purposes of the Atlassian Dragon Quest, we recommend that you disable email notifications.
  3. Log in to JIRA with username charlie and perform the following configuration steps:
    1. Configure JIRA to use the wiki renderer for comments and descriptions:
      • Click 'Administration' in the top navigation bar.
      • Click 'Field Configurations' in the left-hand panel (in the 'Issue Fields' section).
      • The 'View Field Configurations' screen will appear. Click 'Configure' next to 'Default Field Configuration'.
      • The 'View Field Configuration' screen will appear.
      • To change the renderer for comments, click 'Renderers' next to 'Comment' and then select 'Wiki Style Renderer' as the 'Active Renderer'. Click 'Update' and then click it again to confirm the change.
      • To change the renderer for issue descriptions, click 'Renderers' next to 'Description' and then select 'Wiki Style Renderer' as the 'Active Renderer'. Click 'Update' and then click it again to confirm the change.
    2. Turn on time tracking, so that you will be able to log the amount of time you spend working on issues:
      • Click 'Time Tracking' in the left-hand panel (in the 'Global Settings' section).
      • In the 'Hours Per Day' field, select the number of hours in your organisation's working day (e.g. 8).
      • In the 'Days Per Week' field, select the number of days in your organisation's working week (e.g. 5).
      • Leave the 'Time Format' as 'pretty' and leave the 'Default Unit' as 'minute'.
      • Click 'Activate'.
    3. Turn on the public API and allow unassigned issues:
      • Click 'General Configuration' in the left-hand panel (in the 'Global Settings' section).
      • Click 'Edit Configuration'.
      • Select the 'ON' radio button next to 'Accept remote API calls'.
      • Select the 'ON' radio button next to 'Allow unassigned issues'.
      • Click 'Update'.
    4. Enable sub-tasks:
      • Click 'Sub-Tasks' in the left-hand panel (in the 'Global Settings' section).
      • The 'Sub-Tasks' screen will appear. Click 'Enable'.
  4. Log out of JIRA, but leave JIRA running. (Click the dropdown arrow next to the name 'Charlie of Atlassian', then select 'Log Out'.)

Screenshot 2: The JIRA Dashboard when you first log in

Problems? Please go immediately to the Dragon Slayers' Forum.
Victory?      Please continue.

Step 4. Hook JIRA up to Crowd

In this step you will define the JIRA application in Crowd and configure JIRA to use Crowd for SSO and centralised user management.

  1. If Crowd is not already running, start it up by running {CROWD_INSTALL}\start_crowd.bat (on Windows) or {CROWD_INSTALL}/start_crowd.sh (on UNIX).
  2. Go to your Crowd URL in your browser, e.g. http://www.foobar.com:8095/crowd.
  3. Log in to Crowd with username charlie.
  4. Click 'Applications' in the top navigation bar.
  5. The 'Application Browser' will appear. Click 'Add Application' in the left-hand menu.
  6. This will display the first screen for the 'Add Application' wizard for Crowd. Enter the following information:
    • Application Type: JIRA.
    • Name: jira.
    • Description: Atlassian JIRA.
    • Password – Enter the password that JIRA will use to access Crowd and enter it again to confirm it.
    • URL – Enter the base URL of your JIRA site, e.g. http://www.foobar.com:8080.
    • Click 'Resolve IP Address' to ask Crowd to find the 'Remote IP Address' for you. The value will be something like this: 127.0.0.1.
    • Select the 'Crowd' directory.
    • Select 'Allow all users to authenticate'.
    • Click 'Add Application'.
  7. Check the IP addresses for your JIRA application:
    • Click the 'Remote Addresses' tab.
    • Add your JIRA host name, e.g. http://www.foobar.com:8080.
    • If it's not already present, add: 127.0.0.1.
  8. Leave Crowd up and running, but shut down JIRA. (Press Ctrl+C in your JIRA server command window or run {JIRA_INSTALL}\bin\shutdown.bat (on Windows) or {JIRA_INSTALL}/bin/shutdown.sh (on UNIX).)
  9. Copy the Crowd client libraries and configuration files to your JIRA installation folder:
    • Delete the existing crowd-integration-client-1.6.1.jar file from {JIRA_INSTALL}/atlassian-jira/WEB-INF/lib folder.
    • Copy {CROWD_INSTALL}/client/crowd-integration-client-2.0.1.jar
      to {JIRA_INSTALL}/atlassian-jira/WEB-INF/lib.
    • Copy {CROWD_INSTALL}/client/conf/crowd.properties
      to {JIRA_INSTALL}/atlassian-jira/WEB-INF/classes.
    • Copy {CROWD_INSTALL}/client/conf/crowd-ehcache.xml
      to {JIRA_INSTALL}/atlassian-jira/WEB-INF/classes.
  10. Edit the {JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/crowd.properties file and change the following properties:
    • application.name: jira
    • application.password – Enter the password that JIRA will use to access Crowd. This must be the same password as you entered in the Crowd 'Add Application' wizard above.
  11. Edit the {JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/osuser.xml file. Comment out any existing authentication providers and uncomment the Crowd providers, as instructed in the text of the file itself.
  12. Edit the {JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/seraph-config.xml file. Comment out the 'JiraOsUserAuthenticator' class and uncomment the 'JIRAAuthenticator' class, as instructed in the text of the file itself.
  13. Start your JIRA server again, and go to your JIRA URL in your browser, e.g. http://www.foobar.com:8080.
  14. Log in to JIRA with username charlie and Charlie's password in Crowd.
    You are now authenticating via Crowd!
  15. Turn on external user management in JIRA, so that all user management happens in Crowd rather than JIRA:
    • Click 'Administration' in the top navigation bar.
    • Click 'General Configuration' in the left-hand panel (in the 'Global Settings' section).
    • Click 'Edit Configuration'.
    • Change 'Mode' to 'Private'.
    • Select the 'ON' radio buttons next to 'External user management' and 'External password management'.
    • Click 'Update'.

Screenshot 3: The JIRA application defined in Crowd – 'Remote Addresses' tab

Full details are in the Crowd documentation.

Problems? Please go immediately to the Dragon Slayers' Forum.
Victory?      Please continue.

Step 5. Set up a Project and Create your JIRA Dashboard

In this step you will create some data in JIRA, including a project and an issue, for use in the subsequent stages of this integration procedure. Then you will create your own JIRA dashboard with a couple of gadgets.

  1. Create a project in JIRA:
    • Click 'Administration' in the top navigation bar.
    • Click 'Projects' in the left-hand panel, then click 'Add Project'.
    • Enter the following information:
      • Name: Dragons.
      • Key: DRA.
      • Project Lead: charlie.
      • Description: Atlassian Dragon Quest.
    • Leave the rest of the fields with their default values. Click 'Add'.
  2. Add two versions (1.0 and 2.0):
    • Click 'Manage versions'.
    • Enter the following information then click 'Add':
      • Version Name: 1.0.
      • Description: Version 1.0.
    • Follow the same steps to add Version 2.0.
  3. Add an issue to your project:
    • Click 'Create Issue' at top right of the screen, select the following options then click 'Create':
      • Project: Dragons.
      • Issue Type: Bug.
    • Enter the following information about your new issue then click 'Create':
      • Summary: Dragon slayer's equipment is defective
      • Affects Version/s: 1.0.
      • Assignee: Charlie of Atlassian – Click 'Assign to me'.
      • Description: There's a hole in the dragon slayer's water bucket.
      • Original Estimate: 1d.
    • You now have an issue with a key of 'DRA-1'.
  4. Create a new dashboard for all your dragon-related tasks, issues and general fire fighting:
    • Click 'Dashboards' at top left of your JIRA screen.
    • Click 'Tools' at top left of the screen, then 'Create Dashboard'.
    • The 'Create New Dashboard' screen will appear. Enter the following information:
      • Name: Dragon Development Dashboard.
      • Description: A dashboard for dragon slayers, fire fighters and like-minded brave souls.
    • Leave the other fields at their default values and click the 'Add' button at the bottom of the 'Create New Dashboard' screen (not the one next to 'Add Shares').
  5. You now have a new, empty dashboard. Add the 'Projects' gadget to the dashboard:
    • Click 'Add Gadget'.
    • The 'Gadget Directory' will appear, showing a list of the available gadgets for your JIRA dashboard. Enter 'projects' into the search box at top right of the Gadget directory screen.
    • The list of gadgets will change, to show only the gadgets that match your search term. Find the 'Projects' gadget and click 'Add it Now'. The gadget will be highlighted for a short time and the button's wording will change to 'Adding', while JIRA adds the gadget to the dashboard.
  6. Find and add the 'Assigned To Me' gadget in the same way.
  7. Click 'Finished' to go back to your dashboard.
  8. Drag the 'Assigned to Me' gadget to the top right of your dashboard:
    • Move your mouse pointer over the gadget's blue title bar.
    • The cursor icon will change to a four-pointed arrow. Click the gadget title bar with the left mouse button then drag the gadget to the right. Drop it in the space labelled 'Drag your gadget here.'
  9. Configure the 'Assigned to Me' gadget to point to your 'Dragons' project:
    • Refresh the dashboard, if necessary, to show the 'Number of Results' and other configuration fields in the gadget.
    • Leave the default values as configured for 'Number of Results' and 'Columns to display'.
    • Click the dropdown arrow next to 'Refresh Interval' and select 'Every 15 Minutes'.
    • Click 'Save'.
  10. Configure the 'Projects' gadget:
    • Leave the default values as configured for 'Projects', 'View' and 'Number of Columns'.
    • Click the dropdown arrow next to 'Refresh Interval' and select 'Every 15 Minutes'.
    • Click 'Save'.

Problems? Please go immediately to the Dragon Slayers' Forum.
Victory?      Please continue.

Victory!

You can now see your project dashboard with 2 gadgets on it! The 'Projects' gadget shows the project lead Charlie of Atlassian. The 'Assigned to Me' gadget shows the single DRA-1 issue assigned to Charlie.

Screenshot 4 (click to enlarge): JIRA dashboard with 2 gadgets

Problems? Please go immediately to the Dragon Slayers' Forum.
Victory?      Please continue.

Don your Chain Mail and Move to the Next Stage

Document generated by Confluence on Oct 06, 2009 00:43