Reports

A chart should lead back to the work.

Nine reports over your issues and logged time. Every bar, cell and point opens the issues it counted, a table with the same numbers sits under every chart, and every report exports to CSV.

Reports follow project permissions: a report never counts an issue you could not open yourself.

A burndown that shows its working.

Every point on the line is a row in the table beside it. Pick a day to read its figures; the same rows come out of the CSV.

ACME/Reports/Burndown
Sprint Sprint 08Measure Story pointsAs of 9:20am
Committed at start
31
Scope added since
+3
Completed
21
Remaining
13
Ends
17 Oct 2026
  • Remaining
  • Scope
  • Ideal
  • Non-working day
Sprint 08 burndown, 4 Oct 2026 to 17 Oct 2026. Scope is its own line: it steps from 31 to 34 on 5 Oct, when 3 points were added after the start. The remaining line rises with it, and you can see why instead of reading it as a day of lost progress.

Daily figures

DateRemainingIdealScopeAddedCompleted
4 Oct 2026 (non-working day)31313100
5 Oct 20263427.934+30
6 Oct 20263124.834+33
7 Oct 20262521.734+39
8 Oct 20262218.634+312
9 Oct 20261415.534+320
10 Oct 2026 (non-working day)1415.534+320
11 Oct 2026 (non-working day)1415.534+320
12 Oct 20261312.434+321
13 Oct 2026now139.334+321
14 Oct 2026-6.2---
15 Oct 2026-3.1---
16 Oct 2026-0---
17 Oct 2026 (non-working day)-0---

Past days are the figures recorded that night; today is read when you open the report.

Export CSVacme-burndown-acme-sprint-08.csv
date,remaining,ideal,scope,scope_added,completed,live
2026-10-04,31,31,31,0,0,false
2026-10-05,34,27.9,34,3,0,false
2026-10-06,31,24.8,34,3,3,false
2026-10-07,25,21.7,34,3,9,false
2026-10-08,22,18.6,34,3,12,false
2026-10-09,14,15.5,34,3,20,false
2026-10-10,14,15.5,34,3,20,false
2026-10-11,14,15.5,34,3,20,false
2026-10-12,13,12.4,34,3,21,false
2026-10-13,13,9.3,34,3,21,true
2026-10-14,,6.2,,,,false
2026-10-15,,3.1,,,,false
2026-10-16,,0,,,,false
2026-10-17,,0,,,,false

Hand-drawn product views with fictional data.

Follow every number back to its issues.

Sprint 08 has 13 points left where the ideal line has 9.3. The next question is who is holding the rest, and the answer is one click from the issues themselves.

  1. Ask the question.

    Open the project’s Reports and pick Issues per assignee: who is holding the unresolved work?

  2. Scope it the way you search.

    A query in the search language, a saved view by name, one or several projects. A query and a view narrow each other.

  3. Open what it counted.

    Every bar, slice and cell leads to the issue list with exactly the issues it counts, and no others.

ACME/Reports/Issues per assignee
Querysprint: {Sprint 08} #Unresolved
View NoneProjects ACMEAs of 9:20am

5 issues in ACME. 1 has more than one assignee, so the bars add up to 6.

Alex Lee2 issues · 33.3% of the 6 counted

Open matching issues

Issues per assignee, the same figures as the chart
AssigneeIssuesShare
Alex Lee233.3%
Casey Kim233.3%
Sam Ortiz116.7%
Unassigned116.7%
Total5-

The total counts each issue once. Shares are of the 6 the bars add up to.

ACME/IssuesMatching issues
sprint: {Sprint 08} #Unresolved project: ACME assignee: @alex2 issues
ACME-15Resend invite from the members listNormalAlex Lee and Sam Ortiz1 ptOpen
ACME-10Invite landing shows the inviterNormalAlex Lee3 ptsIn Progress

2 issues, the same number as the bar. ACME-15 has two assignees, so it is listed under each of them.

When nothing matches, it says which filter did it.

An empty report names the filters in your words and offers to drop each one in turn, instead of drawing an empty axis. A period is widened to This month or This year rather than dropped. An agent is told the same.

ACME/Reports/Issues per assignee
Querysprint: {Sprint 08} priority: Critical

No issues match sprint: {Sprint 08}, priority: Critical, in ACME.

Widen it:Drop sprint: {Sprint 08}Drop priority: CriticalEvery project

Hand-drawn product views with fictional data.

Then see where last week went.

A time report adds up the time entries themselves, so a subtask’s time is never counted twice through its parent. In the app, the timesheet opens any cell to the entries behind it, on any issue you can open, whoever logged them.

Time tracking

ACME/Reports/Time report
Query project: ACMEPeriod Last weekGroup by Work type

1d 6h logged in ACME, 5–11 Oct 2026.

Time by work type, the same figures as the bars
Work typeSpentEstimateShare
Development1d 2h--71.4%
Testing2h 15m--16.1%
Investigation1h 45m--12.5%
Total1d 6h--

An estimate belongs to a whole issue, so a report by work type shows none. Group by issue or project to see spent against estimate.

ACME/Timesheets
Period Last weekPeople Everyone

1d 6h by three people, 5–11 Oct 2026: the same total as the time report.

PersonMon5Tue6Wed7Thu8Fri9Sat10Sun11Total
Alex Lee1h 30m1h 50m45m1h 25m1h6h 30m
Casey Kim1h30m1h30m3h
Sam Ortiz45m2h1h 15m30m4h 30m
Total3h 15m2h 20m3h 45m3h 10m1h 30m1d 6h

Alex LeeTue 6 Oct 20261h 50m

  • ACME-10Invite landing shows the inviterDevelopment1h 30m
  • ACME-12Invite link blank after it expiresDevelopment20m

A still of the highlighted cell, opened: its entries add up to the 1h 50m in the grid.

Durations read 1w 1d 1h 1m with the organisation’s working day, here eight hours. Hand-drawn product views with fictional data.

Nine reports, three questions.

Each has a table under its chart, opens the issues it counted and exports to CSV. Every issue report takes the same scope: a query, a saved view, projects.

How each report counts

Delivery

Will the sprint land, and what is holding it up?

  • BurndownRemaining work across a sprint, in story points, issue count or remaining estimate, against an ideal line that falls only on working days. Added scope is its own line.
  • Gantt chartIssues from start date to due date, grouped by epic or assignee, with an arrow for every dependency. Issues missing a date are listed underneath, never dropped.
  • Average issue ageHow long issues have been open, per field value, in days, naming the oldest issue in each group.
Sprints and boards

Distribution

Where is the work, and who has it?

  • Issues per assigneeAn issue with two assignees counts once for each, and the report says how many did.
  • Issues per projectHow issues spread over the organisation’s projects.
  • Issues per fieldStatus, priority, type, tag, sprint, due date or a custom field. Statuses named differently across projects add up by category.
  • MatrixTwo fields at once, such as status by assignee. Every cell opens the issues with both values.
Search and saved views

Time

Where did the hours go?

  • Time reportTime logged over a period by work type, person, issue, project or a work item attribute, against the estimate when grouped by issue or project.
  • TimesheetPeople as rows, days as columns, totals both ways. Open a cell for the time entries behind it.
Time tracking

One table for the chart, the CSV and your agent.

Report definitions live on the server, and the web app, the CSV export and the run_report tool all call the same one. These are the Sprint 08 figures from the chart above, as a download and as an agent reads them.

Export CSVacme-issues-per-assignee-2026-10-13.csv
label,value,issues,share
Alex Lee,alex,2,33.3
Casey Kim,casey,2,33.3
Sam Ortiz,sam,1,16.7
Unassigned,,1,16.7
Total,,5,

Shares are of the 6 the bars add up to. The Total row counts each issue once, so it reads 5.

Your agent asksrun_report
run_report {
  "report": "issues-per-assignee",
  "query": "sprint: {Sprint 08} #Unresolved",
  "projects": ["ACME"]
}
and reads
**Issues per assignee** - in ACME, for `sprint: {Sprint 08} #Unresolved`

| Group | Issues | Share | Series | Search with |
|---|---|---|---|---|
| Alex Lee | 2 | 33.3% | 1 | `sprint: {Sprint 08} #Unresolved project: ACME assignee: @alex` |
| Casey Kim | 2 | 33.3% | 2 | `sprint: {Sprint 08} #Unresolved project: ACME assignee: @casey` |
| Sam Ortiz | 1 | 16.7% | 3 | `sprint: {Sprint 08} #Unresolved project: ACME assignee: @sam` |
| Unassigned | 1 | 16.7% | 4 | `sprint: {Sprint 08} #Unresolved project: ACME assignee: Unassigned` |

5 issues; 1 has more than one value, so the groups add up to 6.

Chart: series 1–4, the 4 largest in their own order. The table is the series.

An agent names the report and its choices the way you do, and when a report is empty it is told which filter to drop. MCP and AI agents

Reports follow project permissions.

A report never reveals an issue you could not open directly. Reports manual

Only issues you could open.

A report is scoped to the projects you can read before anything is counted. Projects you are not a member of and deleted issues never reach a bar, a total or a CSV.

Every role can view and export.

Observers included. Anyone who can see a report can download its CSV, with the same numbers on screen.

An agent sees no more than its token.

Through MCP, a report is limited further to the projects the access token allows, and needs the issues:read scope.

Worked out when you open it.

A report shows the time it was computed and does not refresh itself. A result is kept for at most five minutes, and any change in the organisation starts a fresh one.

Questions about reports.

What the numbers count, who can see them and how fresh they are. Definitions for each report are in the manual.

Can the chart, the table and the CSV disagree?

No. Each report is defined once on the server, and the chart, its table, the CSV and the agent’s answer all read that one result. The CSV writes durations as 1w 1d 1h 1m with your organisation’s working day and week, and closes with the totals. Reports manual

Who can see a report?

Every role can open reports and export them. A report never counts an issue you could not open yourself: projects you are not a member of and deleted issues are left out before anything is counted. An agent is further limited to the projects its access token allows, and needs the issues:read scope.

Are the figures live?

A report is worked out when you open it and shows the time it was worked out. It does not refresh on its own. A result is kept for at most five minutes, and any change in your organisation means the next request computes a fresh one.

The burndown records each day’s figures overnight and when the sprint starts and finishes, so later edits do not rewrite how the sprint went; today’s point is read when you open it.

Why can the bars add up to more than the number of issues?

An issue assigned to two people, or carrying two tags, counts once under each. The report states both numbers, as in "5 issues; 1 has more than one assignee, so the bars add up to 6", and the CSV’s total row counts each issue once.

Can an agent run the same reports?

Yes. The run_report tool takes the report’s name and the same choices by name, such as a query, a saved view, a project key or a sprint name. It answers with the table and series the chart is drawn from, and when a report is empty it is told which filter to drop. MCP and AI agents

Open your own sprint’s numbers.

Join the beta, create a project and plan a sprint. Its burndown starts the day the sprint does, and every chart leads back to the issues it counted.