Existing customers who wish to upgrade, or new users who wish to try out JIRA 3.0 for 30 days can download either the standalone or WAR distributions from the Atlassian website.
What's new in JIRA 3.0?
JIRA 3.0 is the second major JIRA overhaul (after 2.x), and the largest release in Atlassian's short history. As always, all existing customers who are still within the 12 months maintenance period can upgrade for free, thanks to the provision for one year of free upgrades in your license.
You will find JIRA 3.0 contains many significant new features as well as the many, many enhancements, bug fixes and things we just couldn't resist throwing in at the last minute. By our calculations, over 400 issues were collectively resolved for JIRA 3.0!
New JIRA editions
Previously, JIRA came in 2 flavours - Professional and Enterprise. JIRA 3.0 marks the introduction of a new family member, JIRA Standard edition, which fits below the Professional edition. For more details on what features are in which editions - see JIRA 3.0 Feature Comparison.
Note: all existing JIRA Professional licenses who are still within the 12 months maintenance period are able to upgrade to JIRA 3.0 Professional at no cost - so for example if you are a JIRA 2.x Professional customer, you can upgrade to JIRA 3.0 Professional and will get all the Professional features.
Upgrading from previous versions
The JIRA 3.0 documentation is online here.
JIRA 3.0 contains a lot of major new features - more than in any other single release of JIRA. Let's look at a few of the most important ones:
Workflow Editor & Configurable Workflow
The most anticipated new features in JIRA 3.0 are the workflow editing features. JIRA now contains a workflow editor (see screenshot) that allows you to view and edit workflows through the web interface, in the Professional and Enterprise editions. The workflow controls the set of steps which an issue moves through in order to move to a resolution.
- Workflows can be created with arbitrary steps (linked to statuses) and transitions between them.
- Statuses can be added and removed through the web interface.
- Conditions, functions, validators are now JIRA plugins (see below for details of the new plugin system):
- Conditions allow you to govern when transitions can be executed and by whom (for example the transition from "Open" to "Closed" can only be executed by a user with the "Close Issue" permission).
- Functions control exactly what happens after a workflow transition is executed (for example an event is fired, an issue field is changed or an email is sent).
- Validators ensure that the data provided for a transition is correct.
Multiple Workflows - Enterprise users can configure multiple workflows for their JIRA installation, assigning a default workflow to each project, and then overriding that workflow for particular issue types if required (via a new workflow scheme). This powerful feature allows an issue to progress through a uniquely tailored workflow - one specifically designed for the life-cycle of that issue.
Issues are like people, they come in all shapes and sizes - large and small. Sometimes a given issue will be solved in multiple 'stages', often by different people. This is the genesis behind the sub-tasks feature.
Sub-tasks allow you to break an issue up into multiple tasks, each of which is a full issue in itself (with its own individual workflows). As you can see from the screenshot here, sub-tasks are very rapid to create and manipulate almost never requiring you to leave the View Issue screen.
Unlike other issues, sub-tasks also have a defined order and the issue contains an indicator of overall sub-task progress (see arrows and red/green indicators on screenshot).
As with all issue types, Enterprise users can override the default project workflow association and specify a custom workflow for each sub-task type.
JIRA now has a plugin system. This means that developers can build plugins, which extend the functionality of JIRA in different ways, plugged in at multiple points within the interface.
Detailed information for developers interested in building their own plugins will be coming soon, but as a summary: each plugin is one or more classes and a simple XML plugin descriptor. Often plugins will also contain Velocity templates to render portions of the UI as necessary. A brief guide to JIRA plugins is available here.
Each plugin consists of one or more plugin modules, each of a specific type (see below). Both plugins and individual modules can be disabled or enabled through the administration interface (see screenshot).
The 12 current module types shipping with JIRA 3.0 are:
- Reports - define a report with the information collected to run it and the resulting HTML.
- Portlets - define portlets and the parameters they accept when configured.
- Custom Field Types - define new types of custom fields (for example a "User Picker") including their rendering templates.
- Custom Field Searchers - provide index and search capabilities to custom field types.
- Issue Tab Panels - add new panels to the View Issue screen (like existing "Comments" and "Version Control" panels).
- Project Tab Panels - add new panels to the Browse Project screen (like existing "Roadmap" and "Popular Issues" panels).
- SOAP RPC Endpoints - define new SOAP web services for JIRA.
- XML-RPC Endpoints - define new XML-RPC web services for JIRA.
- Components - implement new components within JIRA (or override existing components) that are provided to other plugin modules (via PicoContainer).
- Workflow Conditions / Functions / Validators - define extra conditions, functions and validators to be used in your JIRA workflow.
The popular requests for Subversion and Perforce support within JIRA will be addressed with the forthcoming release of two new plugins. While providing support for these extensions to JIRA, they are also great examples of creating plugins within the new plugin system. These plugins are due to be released shortly.
The Dashboard has long been one of the best, most loved features in JIRA. With JIRA 3, it gets a whole lot better!
Inline Editing - the usability of the Dashboard has been greatly improved with the new inline editing mode. This allows you to move, add, delete and edit your portlets from the Dashboard itself, instead of having to switch back and forth to the Dashboard configuration screen (see screenshot).
Pluggable Portlets - portlets within JIRA have now moved within the plugin system as well, enabling easy creation and sharing of portlets with other users.
Filter Statistics Portlet - a new, very useful portlet has been added which allows you to calculate statistics for any saved filter. For example, you can create a filter showing the currently open issues assigned to yourself for a particular project - and then put a chart of those issues onto your Dashboard, broken down by component.
Two Dimensional Filter Statistics Portlet - building on the Filter Statistics portlet, this portlet allows you to display statistics from a filter in a configurable table. The X and Y axis of the table are configurable - for example, issue type against priority - and provides a powerful tool for manipulating the display of the statistics.
Multiple Dashboard Pages - And, to save the best for last, you can now have multiple dashboard pages in the Professional and Enterprise editions. This allows you to create multiple, named Dashboard pages which show up as different tabs on screen (see top right hand side of screenshot).
This is extremely useful in a number of scenarios. Often we've noticed that users' Dashboard pages become extremely long (up to 10 screens!) due to adding more statistic portlets - multiple dashboards allows you to split up these long pages. If you work with multiple projects it is fantastic to be able to create a Dashboard per project, each with relevant statistics providing deeper insight into the project.
Custom Field Types - The custom field system has been completely overhauled for JIRA 3.0 (thanks to Joseph Dane of Hawaii University for the initial impetus!). Custom field types are now JIRA plugins, so new custom field types can be easily created, installed and shared by users. Custom fields themselves can now support multiple values, multiple search methods and can have configurable view / edit / search templates.
For example, imagine you wished to connect certain internal users within your organisation with a particular field in your issue. You could create an 'internal user' custom field type edited with a simple drop down select box of user's full names pulled from a remote web service. To display this custom field, you could have a completely different template which actually included a picture of that user from your intranet!
New System Types - Using this custom field system, we've created a number of new custom field types for JIRA 3.0. The existing custom fields - text field, free text, select list, date picker and number field - all still exist, but now they're joined by the following new types out of the box:
- User Picker - choose a user from the user base via a popup picker window.
- Project Picker - choose from projects that the user can view in the system.
- Cascading Select - choose multiple values using two select lists.
- Multi Checkboxes - choose multiple values using checkboxes.
- Multi Select - choose multiple values in a select list.
- Radio Buttons - a list of radio buttons.
- URL Field - allow the user to input a single URL.
- Read-only Text Field - a read-only text label (only possible to create values programatically).
- Version Picker - choose from available versions in the project.
Voting and Watching
The most voted for JIRA feature has arrived! Users with the "Edit Watcher List" permission can now update and remove watchers. In this way, other users can be added as watchers of a particular issue (for example, I may want to make sure that Bob is notified of changes to a given issue).
For visibility, there is also a new governing "View Watchers and Voters" permission. Users with this permission can see the list of people who have voted on or are watching an issue.
The number of votes an issue has can now also be added to the issue navigator.
Other New Features
- Change Reporter - the second most requested JIRA feature has also arrived! Users with the "Modify Reporter" permission can now update the reporter of an issue.
- Clone Issue - you can now duplicate existing issues, optionally linked to the original issue. The sub-tasks of an issue are also cloned if any exist.
- Multiple Attachments - you can now upload multiple attachments at the same time if you want
- Attachments while Creating - attachments can also be added while creating the issue in a single step, rather than the existing two step 'create issue', 'attach file' process.
- XML issue view - each issue can now be viewed or downloaded as XML, including its comments and custom fields.
There were many, many improvements made in JIRA 3.0, here are the major items of note:
- Version management - version management has been overhauled and versions now have a due date.
- Issue Navigator - sorting of columns has been extended with the ability to sort by Versions, Fix for Versions and Components (sorting on the earliest of each found).
- CVS integration - improved hugely in JIRA 3.0. JIRA can now access CVS repositories via SSH and the local file system (in addition to the existing pserver support), as well as display branch information for commits. The performance has also been worked on a lot, such that CVS access now requires a near constant amount of memory regardless of repository size.
- More languages - JIRA has now been translated to German, Spanish, Danish, Russian, French and Brazilian Portuguese.
- Issue linking - you can now link multiple issues at a time, as well as use search filters to find issues to link.
- Project keys - there is a configurable regular expression to govern the project key structure within JIRA.
- SSO support - JIRA integrates with a number of existing single sign-on frameworks, and can easily be customised to work with custom SSO systems.
- Remote API - the SOAP and XML-RPC remote APIs are distributed as a plugin, which can be updated independently of the main JIRA installation.
- Remote Issue Creation - issues can now be created and retrieved via the remote APIs.
- Field Layouts - Enterprise users can now define field layout schemes for each issue type within a project.
- Reports - there is now a version workload report (thanks to the JetBrains developers for this contribution) which shows the estimated times against developers for a given version.
- Email notifications - Improvements have been made to the format of notifications sent out by JIRA, especially text emails.
- Startup time - JIRA should now start up much faster than it did previously!
- User interface - As always, we've worked on improving the user interface in various areas (most notably the browse projects screen and the version administration screen).
and much, much more...