Documentation — Cross-Project Reports for Jira
Last updated May 18, 2026
Cross-Project Reports for Jira lets you run a single report across any combination of Jira projects you have access to, group and chart the results, drill into the issues behind any bucket, and export to CSV. This page covers everything the app does and how to get the most out of it.
Quick start
- Install the app from the Atlassian Marketplace into your Jira Cloud site. You need permission to install apps (Jira admin or Org admin).
- Open Jira and click Apps in the top navigation, then Cross-Project Reports.
- Pick two or more projects from the project picker. The picker only shows projects you personally have Browse projects permission on.
- (Optional) Open the Filters panel and narrow the report by date, issue type, status, label, sprint, assignee, or reporter.
- Choose how to Group by (status, assignee, issue type, priority, project, or sprint).
- Click Run report. The chart and issue table render side-by-side.
The project picker
The picker lists every project your Atlassian account has read access to. Use the search box to filter by name or key. Select all picks everything currently visible in the list; Clear resets the selection. The picker is the only place where you choose which projects the report runs against — the report itself never widens the scope you picked here.
Filters
The Filters panel is collapsed by default and shows a one-line summary of what’s currently applied. Expand it with the caret to edit individual filters; use Clear all in the header to remove every filter in one click. All filters are optional — running without any of them returns every issue in the selected projects.
- Date — choose a field (Created, Updated, Resolved) and either a custom range or one of the presets (Last 7 days, Last 30 days, This month, This quarter).
- Issue types, Statuses, Labels — comma-separated, case-sensitive on the Jira side. Type names like Bug, Task, Story; status names like “In Progress”, Done.
- Assignee, Reporter — typeahead user search. Resolves Atlassian display names; you don’t need to know account IDs.
- Sprint — typeahead over all sprints from Scrum boards in the selected projects. Both currently-active and historical sprints are searchable. See the next section for the Active preset.
The “Active” sprint preset (rolling current sprint)
Most Jira users want one specific kind of report: what’s open in the current sprint right now? The Active button under the Sprint filter picks a special sentinel value — shown in the chip as “Always current” — that resolves to whichever sprints are active at run time, not at the time you saved the report.
This means a saved report titled “Current sprint status” keeps working week after week: when one sprint closes and the next opens, the same saved report automatically reflects the new active sprint, with no manual edit needed.
You can combine the sentinel with specific historical sprint IDs (for example, “the current sprint + sprint 32”) — they’ll all be OR’ed together in the underlying query.
Grouping and charts
Use the Group by selector to bucket issues by Status, Assignee, Issue type, Priority, Project, or Sprint. The chart and the table’s “bucket filter” chip both follow this dimension.
Switch between Bar and Pie with the chart toggle. The Metric toggle changes the value being plotted from Count (number of issues per bucket) to Story points (sum of the “Story point estimate” field per bucket). Issues without a story-point estimate are excluded from the story-point view, with a footnote showing how many were skipped.
Drill-down: click any segment or bar to filter the issue table down to just the issues in that bucket. A chip above the table shows the active drill-down (e.g. “Showing only: Done”); click Clear on the chip to return to the full table.
The issue table
The table below the chart shows every issue in the report (up to a per-run cap, see Limits below). It supports:
- Sorting — click any column header. Sort direction toggles on repeat clicks. The Age column sorts by creation date with inverted direction so older issues bubble to the top.
- Searching — the search box matches issue keys and summaries.
- Column visibility — the Columns button opens a popover to show or hide individual columns. The selection persists per saved report.
- Pagination — 100 issues per page; use Previous/Next to step through.
Saved reports
Once you’ve configured a report you like, click Save, give it a name, and it appears as a chip at the top of the page. Click any saved-report chip to re-load that exact configuration (projects, filters, grouping, chart type, metric, column selection). The trash icon deletes a saved report.
Saved reports are per-user: only the person who created a saved report can see, load, or delete it. They live in Forge Storage on Atlassian-hosted infrastructure, scoped to your Atlassian account ID.
CSV export
The Export CSV button generates a full CSV of the report’s underlying issues — the export ignores the table’s search and bucket-filter chip and always includes every row that matched the report’s filters. The file is RFC 4180 compliant (proper quoting, embedded commas/quotes/newlines preserved) and uses an Excel-text wrapper on the issue-key column so that keys like SCR-7 are treated as text rather than parsed as currency.
Limits
- A single report run returns up to 5,000 issues. If your filter matches more, the report shows the first 5,000 (sorted by most-recently-updated) and displays a “Narrow your filter to see more” notice.
- The sprint typeahead loads up to 100 sprints per Scrum board across your selected projects.
Permissions and data access
Every Jira call is made with your own user permissions (Forge’s asUser mode), so the app never returns data you couldn’t already see in native Jira. There is no Midgaard-controlled backend; all data stays inside your Atlassian instance. The app requests these scopes:
read:jira-work,read:jira-user— read issues, projects, and users.read:project:jira,read:board-scope:jira-software,read:sprint:jira-software— list Scrum boards and sprints for the sprint filter.storage:app— persist your saved-report configurations in Forge Storage.
See the Privacy Policy for the full data-handling statement.
FAQ
Why doesn’t my project show up in the picker? You need Browse projects permission. Ask your Jira admin to grant it.
The Sprint filter is empty for my project. Sprints only exist on Scrum boards. Kanban and team-managed Business projects have no sprints, so the filter has nothing to show for them.
Story-point sums look off. The app sums the Story point estimate field (customfield_10016 on team-managed Scrum projects). Issues without a value are excluded; the chart shows the exclusion count below it. Epics in team-managed Scrum projects don’t expose story points and are always excluded.
The report says my saved configuration is stale. If you change the projects or filters after running a report, a banner appears reminding you the displayed data no longer matches the current configuration. Click Run report to refresh.
Does this work in Jira Service Management? Not officially in v1. The app is built and tested against Jira Software / Jira Core projects. JSM compatibility is on the roadmap.
Can I share a saved report with my team? Not in v1. Saved reports are per-user. Sharing is on the roadmap based on customer feedback.
Roadmap (post-v1)
We’re deliberately keeping v1 focused. The following are not in scope today but are on the radar:
- Cycle-time and time-in-status analytics
- Worklog rollups
- Dashboard gadgets
- Scheduled email reports
- Sharing saved reports between users
- Cross-instance reports
- Jira Service Management compatibility
Tell us what you need at the support address below and we’ll prioritize.
Support
Questions, bug reports, feature requests:
piotr@midgaard.software
We aim to respond within two business days. Please include your Atlassian site URL and a screenshot of the issue if applicable.