Skip to main content
Jira Cloud integration
Tom Williams avatar
Written by Tom Williams
Updated over a month ago

Our Jira Cloud integration allows you to import project management data directly into Keypup to gain visibility on tasks, due dates, and comments across multiple projects.

Data coming from Jira Cloud can be used to calculate metrics such as the progress of a sprint, overdue items, or display cards in customized listings or boards.

What data do we collect?

Our Jira integration fetches the following entities:

Changelog and Worklog

Changelog events (e.g. created, closed, assigned, etc.) and Worklog events (e.g. time logged events) are fetched for each issue and exposed in the Activity Events dataset.

These events are also used for the calculation of certain calculated timestamps such as assigned_at and last_assigned_at.

Comments

This entity is exposed as a dataset on Keypup. Comments can be used to create a feed of updates or activity metrics.

E.g. Recover and display comments on all open issues.

Custom fields

This entity expands the list of filters available on the Issues & Pull Requests dataset, by adding the list of (project-specific) Jira custom fields to the available native fields. This field extension allows users to filter issues using native Jira fields.

E.g. List all that exceed a certain amount of story points in Jira.

Issues

This entity is exposed on Keypup as part of the Issues & Pull Requests dataset. The type of issue (Story, Task, Bug, etc.) is imported as a label on each issue to ease filtering. This entity can be used to create activity metrics and listings.

E.g. Calculate the Mean Time To Closure on bugs or incidents.

Labels

This entity is exposed as a field on the Issues & Pull Requests dataset. It is used to refine metrics and queries based on labels used in Jira.

E.g. Retrieve only issues that have the โ€œbugโ€ label.

Sprint due date

This piece of information is used to populate the due on field of Jira issues in the Issues & Pull Requests dataset. The sprint due date always takes precedence over the due date assigned directly to issues. This due date can be used for filtering and display purposes.

E.g. Retrieve all issues that are currently overdue.
โ€‹

How often do we refresh data?

Updates from Jira Cloud are received in real-time via webhooks.

If for any reason we are unable to set up real-time updates on Jira - e.g. the user who connected the Jira instance has limited admin permissions in Jira - then we revert to long polling data every 20 minutes.

Whenever possible we recommend connecting Jira as a Jira admin to get the best experience on Keypup.

Transferring issues from one Jira project to another Jira project

This flow is only supported in real time when webhooks are enabled.

Without webhooks, the transfer of Jira issues from one project to another leads temporarily to duplicated issues on the Keypup side (the duplicate issue is the issue in the source project).

These duplicate issues are cleaned up every Sunday morning (UTC) as part of a (API-expensive) reconciliation process which compares the list of issues on the Jira side with the list of issues on the Keypup side to remove the Jira-deleted issues on the Keypup side.

Improved reporting: Linking Issues to Pull Requests

Keypup uses context inference and link detection to automatically enrich your data, add new fields, and simplify your reporting. Context inference can be improved by linking pull requests to issues using auto-closing keywords.

How does it benefit my reporting?

Linking issues to pull requests allows us to populate and improve the following fields:

Issues & Pull Requests > Due on: When issues are linked to pull requests, Keypup automatically infers the due date by taking the soonest of all due dates across the pull request and its related issues.

Issues & Pull Requests > Resolution State: This field is only applicable to issues. It infers the implementation status of the issue by looking at the associated pull requests. The field can have the following values:

  • None: the issue has no attached pull requests. It is not being implemented.

  • In progress: the issue has at least one open pull request attached to it.

  • Implemented: all attached pull requests are merged or closed.

These two fields can be used to refine your metrics and/or drill down on specific data. E.g. Retrieve the list of overdue issues which - on top of that - are not being currently resolved by a pull request.

How to link issues to pull requests?

There are several ways to reference a Jira issue from a pull request.

Option 1: Via the pull request title

To link a Jira issue by key (e.g. PROJ-123), just insert it in the title of your pull request, for instance:

  • [PROJ-123] Resolve a problem with the login button

  • [PROJ-234][PROJ-345] Fix multiple display bugs
    โ€‹

Option 2: Via the pull request body or a commit message

You may also reference Jira issues from the description of your pull request or via commit messages using an auto-closing keyword such as fix, fixes, close, closes, resolve, and resolves, for instance:

  • Closes PROJ-123

  • Closes: https://companyname.atlassian.net/browse/PROJ-123

Did this answer your question?