Integrating Jira with Ally allows any updates on linked Jira user-stories or Epics to automatically track progress on Ally OKRs. This makes for a powerful setup because it ensures your OKR process is not waiting on manual check-ins and any progress is updated real-time on Ally.

Here are a couple of examples where teams see the benefit of the integration with Jira:

  1. A Product Manager links her Objective (‘Ship feature Email Campaigns’) with an Epic in Jira. As stories within the Epic get done, the Objective gets closer to it’s goal. 
  2. One Engineering team resolves to fix 20 bugs in a quarter. They link their Objective to an Epic under which all bugs get filed, and set the target of their KPI success metric to 20. Ally ensure that even when the number of bugs filed under the Epic keeps growing, the Objective has hit its goal as soon as 20 bugs are closed. 

Setting up 

Admin can set up the Jira integration on Ally. To do so:

  1. Navigate Ally’s integrations page through Admin > Integrations.
  2. ‘Enable’ the Jira Integration.

Pre-requisites for Self-managed Jira Setup (on-premise)

If your Jira instance is hosted on-premise (self-managed), you should have your IT/Jira administrator,

  1. Setup an application link inside Jira as described here. Please note that the Jira connection for users will fail if the application link is not configured on your Jira instance.
  2. Let us know you have completed the setup for on-premise Jira. We will provide additional configuration information to you (including an IP address range to whitelist if your Jira installation restricts access by IP address) and we will finish the setup on our end.

If you are facing issues with any of the steps above, Please contact Ally support via in-app chat or email us at [email protected] for more information. 

Creating a New Connection 

Click on ‘New Connection’ and in the popup that follows, 

1.  Add the Server URL of your Jira account

2. Select whether your Jira instance is self-managed (on-premise) or hosted on the cloud. If you are not sure the type of your instance please check with your IT/Jira administrator.

3. For Self-managed instances, click on the "Sign-in with Jira" and follow the instructions in the popup to complete authentication. 

Note: If your Jira instance is behind a reverse-proxy and if you need to pass authenticating header key and value, click on the "Advanced options" above the "Sign in with Jira" button to send the key/value as part of the header.

4. For Cloud instances, Enter the email address and the API token associated with your Jira account. The instructions for generating an API token for your Jira cloud account is described here.

Click ‘Next’ to finish the setup. 

While in most cases one connection is enough, Ally allows you to connect with multiple Jira instances. Click ‘New connection’ to add another instance. You can add names to your connections to differentiate them. These names are displayed to members when they link their OKRs to Jira stories.

Using Jira integration

Once the setup is complete, members can link the success of their OKRs directly to stories or Epics in Jira.

  1. While creating an Objective or Key Result, click on ‘Connect to a data source
  2. From the list of integrations, pick Jira
  3.  Next, select the Connection, if multiple exist.
  4. Add a JQL query to match any issues that would relate to the  Objective or Key Result. This also means that as more issues in Jira match the query, they keep getting linked to the success of the Objective or Key Result.

A JQL query can be copied from Jira. Search for issues you want to link to your Objective using available filters on Jira. Next, click on the ‘Advanced’ option and Jira automatically converts your search to a JQL query. You can copy and paste the query string into your integration with Ally.

The JQL query linked to the Objective or Key Result can be edited at any time. This leads to a recalculation of current progress.

Note: If you are using JIRA next-gen projects, the support for JQL can behave slightly differently compared to classic JIRA projects. For example, JIRA next-gen projects does not support query based on epic link. Here is an official JIRA quote summarising this scenario, "Users should query on next-gen epics using the parent =. If you want to combine Epics from both project types, an example of such a query would be: "Epic Link" = NPC-6 OR parent = NJDP-5. The Parent field can now be selected as a column in the Global Issue Navigator and exported from Jira."

5. Track progress by: Select the metric you want to use to track progress. 

Note: For more information on how JIRA does time and progress tracking, visit this JIRA article

6. If tracking by KPI, you will also have the option to track by done tickets only or all tickets by toggling the checkbox.

Note: 'Done' tickets include tickets with all statuses that is associated with the JIRA's "Done" workflow status category irrespective of the resolution status of the tickets. Reference to JIRA article

Let’s see a few examples of how the integration would work.

Example 1:
We’ll pick the example mentioned earlier:  A Product Manager, Dana, links her Objective (‘Ship feature Email Campaigns’) with an Epic in Jira. A simple JQL query used to set up the link could be: "Epic Link" = AE-786

If the Epic has 10 stories, owned by different designers, engineers and testers in the team, the progress of Dana’s Objective would update every time one of the 10 stories gets closed. For instance, when 3 stories get closed in Jira, Ally would automatically update the progress of the Objective to 30%. If an eleventh story gets added under the Epic, this progress gets re-calculated to 27%.

Example 2:

Consider the objective: “Improve the overall quality of the product”. In this case, you might want to track the number of bugs generated as opposed to the progress of issues, as an indicator of overall quality. You can use the ‘Count of Tickets’ metric in the tracking field to achieve the desired setup: Ally will automatically tally up all the tickets generated.

When an Objective or Key Result is linked to Jira, members can see the Jira icon next to the progress bar indicating there is a connection. 

The colors of the progress bars indicate the status of the Objective. 

  • If the progress is 0-25% less than expected progress at any point in time, the status is Behind (orange)
  • If the progress is over 25% less than expected progress at any point in time, the status is At-Risk (red)
  • The progress bar will increase in Ally when stories or tickets are moved to "Closed" or "Done."

Ally pulls in new updates from Jira every 60 minutes. However, you can also manually refresh to pull in any new changes.

You can view the integration configuration on the OKR itself by clicking into the expanded view.

Learn more about Ally’s other integrations here.

Did this answer your question?