A few days ago we introduced the newest Atlassian offering, JIRA Studio. JIRA Studio combines JIRA, Confluence, Subversion, FishEye, and Crucible in a single integrated development suite. While it’s not yet quite ready for prime time, we’re plugging away at it and as we continue to refine features, we’ll be blogging them here.
One of the crucial features of JIRA Studio is linking. Linking is a big part of what makes five separate applications a suite. From anywhere in the suite, you should be able to easily insert a link to an association in one of the other applications. For example, you should be able to link to a JIRA issue anywhere from FishEye or Confluence simply by inserting the issue key. Or link to a Confluence page from JIRA without manually entering the page url.
Linking is made possible by the AppLinks plugin, a new plugin developed to facilitate intelligent integration of Atlassian applications. The AppLinks plugin allows you to set global and project-level associations between the applications, so that for any given JIRA project, for example, the related Confluence instance and space are defined. When creating a new Studio project, a new wiki space, JIRA project, and code repository are also created and linked.
Once these links are defined, any number of integrations become possible. We can modify existing plugins (for example, the JIRA Fisheye plugin) to be aware of the AppLinks plugin (meaning that you would no longer need to manually configure the plugin with the url of the associated instance, it would just know). We can create new plugins which take advantage of the aggregation allowed by this linking, and we can base suite-wide navigation on awareness of the associations.
While JIRA Studio is a hosted solution, the AppLinks plugin is a good example of a benefit for all our customers, hosted or install. The plugin will be available for download once its complete, and if you are running multiple Atlassian applications, you will be able to take advantage of it.
In order to enable linking, we needed to agree on a consistent link syntax. This syntax permeates the suite; entering a JIRA key should be the same no matter which application you’re in. We eventually settled on this syntax:
- Issue Key = Project Key-number (eg. CONF-9024)
- Changeset Number = revision:changeset# (eg.revision:4572)
- SVN = source:file_name (eg. source:dashboard.action)
- Confluence = [space_key:page] (eg. [DOC:home])
- Crucible: review:XXX (eg. review:38956)
If you’ve used our applications, you’ll recognise much of this syntax. All we’ve done is extend it throughout the suite. As with anything, there’s a bit of a learning curve while you grow accustomed to using the links, but once you do, their value is enormous: being able to easily click to the associated code or wiki specification for a bug report, for example, can take hours off your development time and make de-bugging much less painful.
There will be plenty more to come regarding JIRA Studio. If you’re interested in learning more or signing up for the Beta, please go check out jira.com.