Universal Visual Builder
The Universal Visual Builder is the no-code report builder inside Report Builder. You choose which Jira records to read, drop fields into rows and columns, decide what each cell should show, and the report redraws as you go. No JQL, no scripting, no query language.
Most templates in the Reports Gallery are Universal Visual Builder reports with the fields already filled in, so everything here applies to them too.
Before you build: three ways in
Building from scratch is the last resort, not the first move. In order:
Look for the report first. Search the reports list by name. In most teams the report already exists — someone built it and shared it. Opening it and adjusting the scope takes seconds.
Then look for a template. The Gallery ships purpose-built reports — Workload, Timesheet, Time in Status, Status Distribution, Sprint Velocity and more. A template arrives with sensible fields and formatting already chosen; you change the scope and tune from there.
Only then start from Blank (universal visual builder). Use it when nothing fits — an unusual cross-tab, or a field combination no template covers.
The Configure panel
Three sections, matching the three questions every report has to answer.
Section | Answers |
|---|---|
Get data | Which Jira records should the report read? |
Set chart and fields | How are they grouped, and what does each cell show? |
Style | How should the result look? |
Leave Auto-apply changes on while you are learning. Every change redraws the report immediately, which is the fastest way to understand what a setting does.
Step 1 — Get data
Looking for chooses the kind of record the report counts: Issues or Work logs. Pick Work logs when the report is about time people booked rather than about the issues themselves.
Scope chooses which records to read. Click the field and pick projects, epics, individual issues or saved Jira filters — you can combine several, and a report is never limited to one project. The counter next to Apply filtering previews how many issues you are about to pull in.
Two checkboxes widen the scope beyond what you picked: Include parent issues and Include child issues. Use them when you scope to a specific set but still want epics or subtasks counted.
Set the scope before anything else. Every field list, filter and total downstream is computed from it, so changing it later re-runs everything.
Switch to JQL exists for filters the pickers cannot express. It is optional — nothing in this guide needs it.
Step 2 — Decide the shape before you pick fields
The structure follows from one question: how many things am I measuring, and how many ways am I splitting them? Count the measures and the dimensions, then read off the answer.
Measures × dimensions | Use | Example |
|---|---|---|
1 × 0 | Number | Total open issues, as a single figure for a dashboard |
1 × 1 categorical | Pie or Doughnut if 2–6 values, otherwise Bar | Issues per priority |
1 × 1 ordered or time | Bar Chart | Issues created per month |
Several × 0 or 1 | Bar Chart, one series per measure | Original vs remaining estimate per person |
1 or more × 2 | Pivot table | Assignee against issue type — the example on this page |
A ranked list of issues | Simple table | The twenty oldest unresolved bugs |
Some combinations are not allowed, and the builder will not let you save them:
Number takes exactly one measure and no groupings at all.
Simple table groups by issue only, with no columns.
Bar, Pie and Doughnut have no columns — they have one axis. Their slots are renamed accordingly: X Axis or Categories, and Values.
Only the pivot table, vertical or horizontal, can use both rows and columns.
Switching visualisation keeps your fields where they are. It is cheap to try a pivot, look at it as a bar chart, and switch back.
Step 3 — Put the fields in
Three slots decide the structure:
Rows grouping — what runs down the side.
Columns grouping — what runs across the top.
Cell content — what each cell shows where a row meets a column.
Use Add field for a grouping and Add cell content for a value. Any Jira field can be used, including your own custom fields.
If you have used other reporting tools, Cell content is what they call measures. It holds Count of Issues, Sum of Remaining Estimate, Time in Status, Progress by time and so on — and it can also hold a field, which turns each cell into a subchart.
Add more than one field to a slot to nest groupings — Assignee, then Issue Type underneath. Drag the six-dot handle to reorder; the order of the cards is the order of the nesting. The eye icon hides a level without deleting it, which is how you switch between a detailed and a summary view of the same report.
Step 4 — Tune a field
Expand any field card to reach its own settings. They appear in a fixed order, and that order is not arbitrary — each setting is offered based on what the one above it produced:
field → Bucket by → Format → Filter
A date field bucketed by month produces months, so the formats offered are month formats and the filter offers months. Change the bucket to quarter and the format and filter lists change with it. This is why an option you expected sometimes is not there: something earlier in the chain is producing a different kind of value.
Setting | What it does |
|---|---|
Name | Renames the field in the report. Jira is untouched. |
Bucket by | Groups values instead of listing them one by one — dates by day, week, month, quarter or year; numbers into tens, hundreds or thousands. |
Format | How values are printed. For durations, pretty gives Jira-style figures such as |
Filter | Keeps only the values you choose. |
Conditional Formatting | Colours the cell, its text or its border when a condition is met. |
Apply to | Where the value is calculated: everywhere including totals, everywhere but with subtotals hidden, or only at intersections you pick by hand. |
Grand totals | Totals row at the top or bottom, totals column left or right, or hidden. |
Show empty rows, Show empty columns and Show empty values decide whether groups with no data are listed. Turn them off to compress a sparse report; leave them on when the absence of data is itself the finding.
Step 5 — Style
Fonts and weights, cell alignment, chart colour scheme and height, and Display report details, which shows or hides the scope summary above the table.
Pin rows and Pin columns keep headers, totals or both in view while scrolling a large report — worth turning on before sharing anything wide.
Read the result
Every number is clickable. Click a cell and choose Drill down to see the records behind it, with a breadcrumb showing which row and column you came from. Where you land follows what you clicked: a worklog measure opens worklogs, a status-duration measure opens the status transitions. Open issue navigator hands the same issues to Jira's own search.
Save and share
Name the report in the title field and click Add to My Reports. Then set who can view or edit it, export to CSV, XLSX or PDF, or place it on a Jira dashboard as a Report Builder gadget. The report stays live and recalculates from Jira each time it is opened.