JIRA Integration

Set OKRs and link them with JIRA issues and epics

You can now link your OKRs on 10xGoals with JIRA to make it easier for tracking progress on issues that move the Engineering team’s OKRs.

With this integration, you will get

  • a single source of truth for updates on engineering OKRs

  • visibility on tech execution for the entire org

Here are a couple of examples on how the jira integration is helpful:

  1. A Product Manager has taken up a KR to deliver a feature. He links this KR with an epic in Jira. As stories within the epic get done, the progress keeps getting updated. The KR will be achieved once all the stories under the epic have been completed.

  2. An Engineering team takes up a KR to fix a specific category of bugs in a quarter. These bugs are tracked under a label “UX bug”. The Team Lead this KR to a label in Jira. As the issues are closed, the progress of this KR keeps getting updated and the KR will be achieved once all the issues with the label are resolved.

When to use the JIRA integration

JIRA integration can be used whenever you want to automatically update the KRs using the updates from JIRA. There are three different types of use cases when the JIRA integration is useful:

  1. Feature Development - Lets say an Engineering team is working on a feature to enable a business case. Typically this will be a KR owned by the team manager or lead in 10xGoals. This will be aligned to the company objective of the new business enablement. Engineering teams track the work for this feature in JIRA by creating all the stories (tasks) under an Epic. An epic is also classified as an Issue in JIRA. In this scenario, the KR owner can automate the checkins to happen based on the tasks getting closed under the JIRA Epic of that feature. For this, you can integrate with a JIRA issue.

  2. Fixing Bugs - Typically Engineering teams face scenarios where they have multiple issues on their plate and at times they might take a KR to fix these issues. In JIRA, all these issues are labelled so that they can be easily identified. For this, the KR (again owned by the lead or manager) can be integrated with a JIRA label.

  3. Minor changes - Some teams would like to split the tasks to granular details in 10xGoals. We do not encourage this and ideally the KRs should stop with the Engineering Managers or the Tech leads. However if you still want to manage these small tasks as KRs, you can achieve this by integrating to an issue.

How 10xGoals<->JIRA works

Prerequisites: A. JIRA account details (admin) B. API Token (get from here) Note: You will need to contact your admin for JIRA to get this. You can refer to this documentation. C. Set your OKRs on 10xGoals (please do not set any success metric for these OKRs, they will be automatically fetched from JIRA)

Integration:

After setting up your OKRs on 10xGoals, you can go to the detail page of the particular O/KR.

  • Click on the three-dot menu and click on ‘Track Progress with JIRA’

  • In the next screen, you can either select ‘Create a new connection’ or use an existing one

  • If you create a new connection, you will need to provide your JIRA account details (keep your JIRA token handy)

Fill in the details and cick on Proceed
  • After connecting your JIRA, you can select the issue/label that you want to link to this OKR and proceed to the next step

An issue can be an epic as well

Here’s how it works:

Integrating an Engineering OKR with JIRA to fetch updates

Following these steps maps your JIRA cards to your O/KR. Your JIRA card updates will reflect on your OKR in 10xGoals, it gets updated every hour and you can also manually click on the refresh icon in the details page of your OKR to get real-time updates.

Manual updates on an OKR mapped with JIRA issues/epics/stories get overwritten

You can not link an OKR with a success metric attached to JIRA. Please delete the success metrics added to the OKR before trying to link it with JIRA.

Progress of an OKR linked to JIRA

10xGoals automatically updates the status of an OKR linked to a JIRA epic/story every hour. It fetches the progress made from the epic/story it is linked with (which can also be done manually by refreshing the status on the OKR description on 10xGoals). Here is how it works:

Tracking progress of an OKR linked to JIRA

Progress calculation

For the calculation of Progress and Status we rely on the JIRA status category. All the JIRA statuses will be classified under one of the three status categories: To Do, In Progress, Done. We rely on these three categories to arrive at the status and progress. ‌

Progress

For Epics (issue)/Labels: For a KR that is linked to a Epic/Label, progress is calculated by the completion percentage of the number of tasks in the Epic/Label. For example, if an epic has 5 cards and if two are marked “Done” or any other jira status that is mapped to the status category “Done”, then it is calculated as 2/5 which is 40%.

For Story / Tasks (issue) with subtasks: If you map a JIRA epic/label with your KR, the progress is calculated as the percentage of the total number of subtasks closed out of all that is associated with that epic/label. So if there are 10 tasks within an epic/label and only 2 of them have been closed, the progress made on the mapped OKR on 10xGoals will show 20%.

For Story / Tasks (issue) without subtasks: If you map a JIRA issue with your OKR, the progress on the OKR on 10xGoals will show 0% if the issue is not closed. If the issue is closed, the progress on 10xGoals will show 100%.

Status

OKR status

JIRA status for Epic/Label/Task with subtasks

JIRA status for Task(issues) without subtasks

Not started

All the tasks/subtasks mapped to the issue/label is under the status category “To Do”

The task is under the status category “To Do”

On track

When one or more of the tasks/subtasks mapped to the issue/label is under the status category “In progress” (this typically involves “in progress”,”in review”, “testing”, etc,.), the OKR is marked On track if the progress calculated as explained in the earlier section is on track based on the time elapsed.

Example: KR start Date: 01-Oct-2020 Due Date: 31-Dec-2020

Current date: 15-Nov-2020 Expected progress (based on time elapsed): 50% Actual progress: 4/6 = 66% Status: On Track (Actual progress > Expected progress)

The task is under the status category “In Progress”. This will not happen as the progress will always jump from 0% to 100%.

Off track

When one or more of the tasks/subtasks mapped to the issue/label is under the status category “In progress” (this typically involves “in progress”,”in review”, “testing”, etc,.), the OKR is marked Off track if the progress calculated as explained in the earlier section is on track based on the time elapsed.

Example: KR start Date: 01-Oct-2020 Due Date: 31-Dec-2020

Current date: 15-Nov-2020 Expected progress (based on time elapsed): 50% Actual progress: 4/6 = 33% Status: Off Track (Actual progress < Expected progress)

The task is under the status category “In Progress”. This will be the most likely scenario as when the task is being worked upon, the progress captured in OKR is 0%.

Achieved

All the tasks/subtasks mapped to the issue/label is under the status category “Done”

The task is under the status category “Done”

Unlinking/Editing an OKR with JIRA

  • Click on the three-dot menu for the OKR you want to unlink with JIRA and select "Edit JIRA Integration"

  • Select Remove Integration and proceed

  • Your OKR will now be unlinked

Editing a JIRA Integration on an OKR