Vector Grove

Test Coverage for Jira

Linked test count and coverage status as real, searchable Jira fields. Counts any linked work item whose type name ends in "Test" — Xray's, or your own.

Your test management app knows which work items have tests. Jira does not.

You can go and find out — open a work item and read its links, and a JQL add-on will let you search across them. What none of that gives you is a field: coverage is never a navigator column, never something you sort on, and never in a CSV export.

Test Coverage adds two ordinary, indexed Jira fields to every work item that has links:

"Test Coverage" = "Not covered" AND status != Done AND fixVersion = "3.2"
"Linked Test Count" = 0 AND type = Story AND sprint in openSprints()
ORDER BY "Linked Test Count" DESC
Jira work item search with Test Coverage and Linked Test Count as columns, sorted by linked test count descending, showing Covered and Not covered values.
Coverage status and linked test count as navigator columns, sorted by count. Both are ordinary indexed fields, so the sort is on the value.

Where the fields work

Surface Supported
JQL search, including numeric ranges Yes
Sorting (ORDER BY) by real value Yes
Saved filters Yes
Navigator columns Yes
CSV export Yes
On the work item itself Yes, in the context column

Board columns and dashboard gadgets are not claimed here either, for the same reason: they have not been verified.

A Jira work item showing the Test Coverage panel in the context column, reading COVERED with two linked Test work items, beside the linked tests themselves.
On the work item: coverage status, the number of linked tests, and the tests themselves in the links section. The DEV badge is Jira marking an app installed from a development environment; it does not appear on a Marketplace install.

Which tests it counts, and which it cannot see

Coverage is computed from the Jira issue graph. Any linked work item whose type name ends in “Test” counts — Xray’s Xray Test, or a team’s own Manual Test — in either link direction, whatever the link type is called.

It deliberately does not count Test Set, Test Plan, Test Execution, Sub Test Execution or Precondition. Over-reporting coverage is worse than under-reporting it, because it tells someone it is safe to ship.

That rule is the whole product, and it has an edge worth knowing before you buy. If your test management app keeps its test cases in its own store rather than creating them as Jira work items, then Jira cannot see those tests and neither can this app: the requirement will read Not covered even though it is tested. Xray creates Jira work items, so it works — verified on a live Jira site. Other test management apps differ, and some keep their test cases entirely outside Jira. Check first: open a covered requirement in Jira and look at its links. If the linked tests appear there as work items with a type name ending in “Test”, this app will count them. If they do not appear in Jira at all, it will not.

Because it reads Jira rather than a vendor’s backend, it keeps working if you migrate between test management apps, or stop using one entirely — as long as your tests are Jira work items, they stay in Jira, and so do your coverage fields.

Xray is a trademark of Xblend/Xpand IT. It is named here because this is the one test management app we have installed and measured, and naming it describes how this app does or does not interoperate with it — no endorsement, affiliation or partnership is implied.

What it does not do

Stated plainly, because a surprise here would earn a one-star review.

How the fields stay correct

Link or unlink a test and the fields update within seconds. An hourly reconciliation repairs anything that drifts — including cases Jira raises no event for, such as a linked Test work item being deleted outright.

What it stores

Work item links and work item types, read at the moment coverage is computed. It never reads summaries, descriptions, comments or attachments, and it never contacts a third-party service. Full detail on the security and data page.

Pricing

This app is not on the Atlassian Marketplace yet, so there is nothing to buy today and no rate is binding anywhere. What follows is what the pricing will be when it lists.

Free on Jira sites of 10 users or fewer, per Atlassian’s Marketplace rules. Above that, per user per month, with the rate falling as the site grows. The Marketplace listing will carry the binding rates, and this page will link to it once it is live.

Support

Questions and bug reports: issue tracker. See the support page for what to include.