5 Most Useful Add-ons of Atlassian Codegeist 2015

December 22, 2015
#Confluence#Jira
21 min

Annually Atlassian holds its add-on development competition, called Atlassian Codegeist, to encourage the creativity and innovation for the benefit of its community. Its participants, individual developers and teams, come up with brilliant ideas and develop new plugins or extensions that can provide valuable additional capabilities for the users of JIRA, Confluence, HipChat and Bitbucket. When the competition is over, the winners receive prizes and the users of Atlassian products get plenty of new tools to work with. Win-win, right?

This year Atlassian hackathon had over 140 submissions, from which judges selected 7 best add-ons:

Our team also took part in Codegeist 2015 with our two new add-ons, File Viewer for Bitbucket Cloud that allows to view 2D and 3D models, geographic data structures, PDF and CSV files directly in Bitbucket, and Quizzes for Confluence, which is used for creating quizzes, assessments and tests in Confluence. And we truly appreciate that our work was noted and File Viewer was chosen Best Bitbucket add-on.

Having gone over all hackathon submisisons out of curiosity, we picked 5 add-ons that seemed most useful for the majority of the readers of our blog.

5 Most Useful Add-ons of Atlassian Codegeist 2015:

Today’s post will give you an overview of these plugins, so you could get an idea of their potential value for your team and try the add-ons that appear to be a real catch for you.

1. Relations for JIRA

Relations for JIRA is the tool for customer relation management in JIRA Cloud, which gives the business context to JIRA issues. Relations are contacts and companies you do business with. With this add-on you can store the information about your relations directly in JIRA and link corresponding contacts and companies to JIRA issues.

Each relation is a separate JIRA space, which provides the details about a certain contact or company with all the JIRA links related to this relation. So you can see all the information concerning a given company or contact in one place.

There are two configurable templates, Company and Contact. The space created with one of these templates includes the information page and the issues page.

  • On the Contact Information page you can see contact name, description, email, phone numbers, website and social media links; company the contact is associated with and their role in the company
  • The Company Information page includes the following details: company name, description, website, address, list of contacts that are associated with this company in JIRA
  • The Issues page is an overview of all issues that are linked to a contact or a company

When browsing an issue in Issue Detail View, you can see the Relations sections with Company and Contact fields. Originally they are empty. To link a relation to a JIRA issue, you need to search for it in the Company or Contact field in the Relations section in that JIRA issue. When you make your selection, the linked company and contacts will be displayed in the Relations section. And you can easily access the information about them by navigating to relation spaces.

The add-on adds the Relations button in JIRA header. You can use this menu item to browse all existing companies and contacts and new ones.

Relations for JIRA supports JQL and you can search for issues that are linked to companies and contacts using queries like:

company="StiltSoft"

(to search for all issues that are linked to the company “StiltSoft”)

contact="Katerina Kolina"

(to search for all issues that are linked to the contact “Katerina Kolina”)

Pricing: Relations for JIRA is available for JIRA Cloud. Its commercial license costs 33$/month for 25 users; 66$/month for 50 users; 99$/month for 100 users. Try it

2. Retrospective Tools for JIRA

Codegeist 2015 winner – Best JIRA Cloud add-on

With Retrospective Tools for JIRA you can fast forward replay the progress of work on selected projects or issues to visualize and analyse their history on a JIRA Kanban or Scrum board. It helps realize how your teams have been doing and discover possible bottlenecks, performance issues and their causes.

How does it work? You can access the Retrospective Tools page either from the Add-ons menu on the sidebar when browsing a project or via Agile Board.

Opening Retrospective Tools from the project page allows you to:

  • select the history of what issues or projects you’d like to be animated for you by using Filter, JQL or Board options
  • customize board columns: by default columns are defined by either board (if you selected a certain board) or statuses of the current project  workflow. But you can make changes for your purposes, e.g. create or delete columns, group statuses in columns

On the board each issue has 2 animated progress bars, one that indicates the progress in the current column and the other one that shows colour-coded issue status history.

With Retrospective Tools it is possible to:

  • set a timeframe
  • create swimlanes by grouping issues by selected properties
  • use playback controls (play, pause, skip, animation speed buttons) to navigate the timeline and animate the board or click on the timeline to get the board view the way it was at that moment
  • find a certain issue on the board and jump to its creation time by typing its name or key in the ‘Find issue’ search field
  • see what status a project had at a certain point in time
  • follow the history of an issue (see status and assignee changes, progress of work on the issue) in time
  • besides the regular timeline, you can have one with an overview of progress on each issue
  • view additional graphs:
    • Cumulative Flow Diagram (displays how many issues there are in each column over time to understand how much work is finished, in progress and awaiting in backlog, at what pace the work is being done, get an estimation of the project completion time, etc.)
    • Liquidity diagram (shows the number of times issues changed columns over time to get meaningful information about your processes)
    • Times in Columns histogram and statistics (provide the lead time stats about how much time issues spend in each column)

Pricing: Retrospective Tools for JIRA is available for JIRA Cloud. Its commercial license costs 50$/month for 25 users; 100$/month for 50 users; 150$/month for 100 users. Try it

3. Cycle Control

Cycle Control is a Release and Program management tool. It enables you to control the life cycle of a release, project or program using stages, quality gates, milestones, checklists, approvals, status and risk indicators.

In Cycle Control everything is organized in Releases. The release scope can be any combination of JIRA projects, versions, components, JIRA Agile boards, epics or sprints. Only users with granted permissions can use Cycle Control.

The add-on operates with release types, releases and release calendars:

  • Release Type is the description of a release process that will be used by a release. It can be configured based on your unique process and you can reuse it in multiple releases
  • Release is a specific release itself with a scope and configuration
  • Release Calendar is used to visualize one or several releases on a timeline (with stages, milestones, checklists, approvals and other details)

Each release object in Cycle Control is mapped to a native object in JIRA, which means you can get release reports using JIRA gadgets.

Let’s go into details. Before creating a release, you should first set up a release type with the description of a release process that will be used by your release. Release type includes:

  • general configuration (release name and description)
  • stages (phases of your process with a stage name, description, duration and color)
  • gates (transitions between two stages with gate conditions and approvals)
  • approvals (list of approval owners that are supposed to grant their approve before the release passes from one stage to another)

Once you have a suitable release type, it is time to create a release itself. While doing that, a user specifies a release name, a release type, a start date and a release owner. A newly created release should be configured:

  • Select the release content type to specify the list of issues included in the release. Release content options:
    • Project – all (or, filtered by version/component) issues from one or more JIRA projects
    • Agile – all issues from one or more JIRA Agile epics, sprints, boards
    • Custom – issues from one or more JIRA issue filters
  • Add release metrics that will be displayed on the release calendar page. There are two types of release metrics you can create: issue count and field aggregation. So you select which type of metrics is relevant and insert a JQL query (e.g. “Story Points” is empty to calculate the number of unestimated story points included in the release). With JQL based metrics you can:
    • use issue count and numeric aggregations (e.g. Total Open Bugs, Total Estimate, Total Scope)
    • see historic trends
    • run in-depth analysis of changes between two dates
  • Set up milestones and checklists

On the configuration page of an existing release, besides the details provided while creating it you can also see:

  • release end date (the forecast of the release end date based on the duration of all stages inside the release)
  • status (indicator of how the release is going given the schedule and the planned scope)
  • risk indicator (indicator of the probability of a release missing its end date)
  • release state (indicator of the current state of a release: draft, scheduled, in progress, suspended, finished, blocked)
  • buttons for starting or scheduling the release (the release start date can be set in the past)

To view the release you have created you need to add a new release calendar and choose that release, or add the release to an existing calendar. Users can view and edit releases according to their permissions.

Calendars can be configured to show a list of releases on a timeline where you can see releases schedule in time and marks for major release events (milestones, checklists, due dates, etc.).

When you click on the release name on the timeline, release details are displayed on the sidebar showing the properties of a release.

Pricing: Cycle Control is available for JIRA Server. Its commercial license costs 600$ for 25 users; 1100$ for 50 users; 2000$ for 100 users. Try it

4. CallCenter for HipChat

Codegeist 2015 winner – Best HipChat add-on:

CallCenter for HipChat allows you to receive and answer phone calls directly in your HipChat. It integrates with the Twilio platform to enable connecting one or multiple phone numbers to a HipChat room. It means you can receive phone calls directly in HipChat.

Major capabilities:

  • Notifications about incoming calls
  • Live calls, conference calls, voice mail
  • Logging calls details including the date, time, caller ID information
  • Transcriptions of the voice mail messages (optional)

The CallCenter for HipChat integration needs to be installed and configured separately for each HipChat room. To use this integration, you need to have a Twilio account. While configuring the add-on you will be prompted to connect to Twilio and provide the phone numbers purchased from Twilio to associate with the HipChat room.

Final configuration determines how phone calls will be received and processed.

You can enter your voicemail text and select voicemail language, enable paid options (transcription, caller ID), choose what events should trigger notifications in the HipChat room:

  • New call (an incoming call)
  • New voicemail (a new voicemail)
  • Joined call (indicates a call was answered by someone)
  • Claimed call (indicates someone took ownership of the call)

After configuration, you can see the CallCenter glance on the sidebar in that HipChat room.

When it’s collapsed, the glance shows a lozenge with the number of incoming calls, active calls, and voicemail messages. As you click the glance, you can see the detailed view with a card for each received call and the ‘Show missed calls’ button.

When there is an incoming call, the caller hears the welcoming message and the CallCenter glance lozenge becomes red. You can either answer or decline a call. If a declined call is not answered by another team member, the caller will be able to leave a voicemail message. Other members can join an ongoing call if needed. It is possible to view the incoming call in one of two ways:

  • by clicking on the card in the main window and selecting View Call in the tools menu
  • by clicking the CallCenter glance on the sidebar – there will be a card for each incoming call at the top of the sidebar view

Each time a call is received, a new card is added in the HipChat room.

If you click on one of the past call cards on the sidebar, you will be able to see the details of that call including call time, owner and caller ID; voicemail message and its transcription; the Notes field for adding notes about the call. You can also perform actions with the call: discuss in room, mark voicemail as unread, become call owner.

At the moment it is not possible to place a call from the HipChat room to call back a number you earlier received a call from, or if you missed a call. But these features are on the roadmap.

Pricing: CallCenter for HipChat is available for HipChat Cloud and is free at the moment. Try it

5. Instant Websites for Confluence

Codegeist 2015 winner – Best Confluence Cloud Add-on

Instant Websites for Confluence converts a Confluence space it into a mobile-friendly static website. The add-on uses Metalsmith (a static site generator) to convert the Confluence storage format to a static HTML site and publishes it to Amazon AWS S3. The content is delivered via Amazon AWS CloudFront. Amazon AWS Route 53 makes it possible to create a CNAME record and hide the Amazon URL.

So all you need to do is:

  • create a Confluence space with pages containing the content you would like to be available on your static website
  • enable Instant Websites for that space in the Integrations section of Space Tools
  • provide a domain name where the static content is stored. You can also host a website on your own domain. To do that, create a CNAME with your DNS provider and point that to the Instant Websites hostname.

With enabled Instant Websites, once a Confluence page is updated, changes are published to Amazon AWS and immediately available online.

Pricing: Instant Websites for Confluence is available for Confluence Cloud. Its commercial license costs 50$/month for 25 users; 75$/month for 50 users; 100$/month for 100 users. Try it

If you get any questions, feel free to ask them in comments below or email me at kkolina@stiltsoft.com.