ReportInSite Playbook

How to turn a Jira export, a CSV or numbers you type in into a scorecard, a sprint report and a cross-team roll-up you can send to a steering group. It takes about ten minutes the first time.

Open the tool →Open it with sample data

Free today. Agility Ops reserves the right to make ReportInSite a paid service at any time in future. Sign up to be notified of any change.

1 · Quick start

  1. Open the tool at reportinsite.com.au/tools/reportinsite. You can start without an account. Type your organisation's name in the box at the top left; it goes on your PDFs.
  2. Import your data. Open the Data tab, choose how your data arrives, and import it (see section 2). Sprint data, incidents, deployments, budgets and survey results can all come in; section 3 has a recipe for each app.
  3. Set targets. On the Framework tab, give each metric you care about a target. Metrics without a target show grey.
  4. Read the report. The Scorecard, Sprint report, Roll-up and Trends tabs fill in automatically.
  5. Export. Export & share → PDF — steering pack gives you a landscape PDF of the whole picture.
Want to see a finished report first? Click Load sample data at the top of the tool. It loads three teams with eight sprints each and three monthly snapshots. Click Clear data at the top of the tool when you're ready for your own.

2 · Get your data in

On the Data tab, under Add data, pick the option that matches what you have:

OptionUse it whenWhat to do
Any data: CSV or Excel
Anything that isn't sprints
Your numbers come from another app: incidents, deployments, test results, budgets, timesheets, surveys, risk registers. Also sprint data from Azure DevOps, Linear, Monday.com or ClickUp.Pick a recipe for your app (see section 3) or Custom, follow its export steps and load the file. Check the preview, then click Import. Dated files fill in Trends month by month.
Jira Sprint Report (paste)
Most accurate
You use Jira and want figures that match Jira's Sprint Report exactly.In Jira open Reports → Sprint Report and pick the sprint. Select from "Completed Issues" to the end of "Issues Removed From Sprint", copy, and paste it into the box as it is. Enter the team and sprint name, then Add sprint. Do one sprint at a time.
Jira issue export
Fastest for many sprints
You want several sprints or teams in one go.In Jira search, filter to your sprints, e.g. project = ABC AND sprint in closedSprints(), then Export → Export CSV (all fields). Choose the file and click Import issues. The tool reads Sprint, Status Category, Story Points, Issue Type, Created and Resolved.
Sprint summaryYou keep one row per sprint in a spreadsheet.One row per sprint. Click Download template for the column layout, fill it in, then Import sprints. Only Sprint and Delivered SP are required.
Metric valuesYou already have the finished numbers.Click Download template; it lists every entered metric on your framework. Fill in the Value column and click Import values. Use Portfolio as the team for organisation-wide figures, and add a Period column (e.g. 2026-09) to load several months of history at once.
Type a sprint inYou have a handful of sprints and the numbers to hand.Enter committed and delivered points (plus anything else you know) and click Add sprint.

Sprint summary columns

Team, Sprint, Start, End, Committed SP, Delivered SP, Not Completed SP, Removed SP, Issues Completed, Lead Time

Importing again

Re-importing a sprint with the same team and name replaces it, so you can safely re-run an export each sprint. Teams and sprints are listed lower down the Data tab, where you can rename or remove them.

Jira issue exports don't hold sprint-start estimates. The CSV only carries today's story points, so if issues were re-estimated mid-sprint, "Committed" won't match Jira. The Sprint report flags this. When you need exact figures for a sprint, paste the Sprint Report for that sprint under the same team and sprint name, and it replaces the CSV version.

3 · Data from any app

Every metric on the framework can be fed from a file, not just the sprint ones. On the Data tab choose Any data: CSV or Excel, pick the recipe for your app, and follow its export steps. The recipe fills in the column mapping and the calculation for you; you can change any of it before importing. Each recipe also has Try it with sample data, so you can see the result before exporting anything.

How a file becomes a metric

  1. Team. A column that says which team each row belongs to (assignment group, area path, project, cost centre), or one team for the whole file, or the organisation as a whole (Portfolio).
  2. Month. A date column groups rows by month. The latest month goes on the scorecard; earlier months appear on Trends. Leave it out for "as of today" counts such as open backlog.
  3. Calculation. count rows; count distinct values; sum of a column; average of a column; median of a column; 85th percentile of a column; lowest value; highest value; % of rows matching a condition; % of a column's total where a condition holds; column a ÷ column b, as %; column a − column b (totals); average of column a × column b; time between two dates; age: today − a date; net promoter score (0–10 answers); rows per week.
  4. Filters. Keep only the rows you want, e.g. Priority is one of 1, 2, or Status is not Closed.
  5. Metric. Choose where the number goes. Recipes for DORA, Flow and Service Management metrics add those areas to your framework if they aren't there yet.

Dev tools

AppGives youHow to export
Jira
Defects found in production
Quality › Defect Leakage Filters → Advanced issue search, run the query, then Export → Export CSV (all fields). Label production bugs consistently (e.g. "production") or use an Environment field.
JQL
project = ABC AND issuetype = Bug AND created >= startOfMonth(-5) AND (labels = production OR environment ~ "prod") ORDER BY created DESC
Jira
Open tech-debt items
Strategic & Risk › Tech Debt Items Advanced issue search → Export → Export CSV (current fields is enough). Counts what is open today.
JQL
project = ABC AND labels = tech-debt AND statusCategory != Done ORDER BY priority DESC
Jira
Cycle time (created → resolved), 85th percentile
Flow › Cycle Time (85th percentile) Advanced issue search → Export CSV (all fields). Jira exports Created and Resolved; for true start-to-finish cycle time use Azure DevOps or Linear, which export a start date.
JQL
project = ABC AND statusCategory = Done AND resolved >= startOfMonth(-5) AND issuetype in (Story, Task, Bug) ORDER BY resolved DESC
Azure DevOps
Sprint reports from a work-item query
Sprint reports + Delivery metrics Boards → Queries → New query → Editor: Query → paste the WIQL (or build it), Run, then ⋯ → Export to CSV. Add the Story Points, Iteration Path, Area Path, Created Date and Closed Date columns.
WIQL
SELECT [System.Id], [System.WorkItemType], [System.Title], [System.State], [System.IterationPath], [System.AreaPath], [Microsoft.VSTS.Scheduling.StoryPoints], [System.CreatedDate], [Microsoft.VSTS.Common.ClosedDate]
FROM WorkItems
WHERE [System.TeamProject] = @project
  AND [System.WorkItemType] IN ('User Story', 'Bug', 'Task')
  AND [System.IterationPath] UNDER @project
  AND [System.ChangedDate] >= @today - 180
ORDER BY [System.IterationPath]
Azure DevOps
Cycle time (activated → closed), 85th percentile
Flow › Cycle Time (85th percentile) Run the query, then Export to CSV with the Activated Date and Closed Date columns. Dates follow your Azure DevOps locale; US-format exports are read month-first.
WIQL
SELECT [System.Id], [System.WorkItemType], [System.AreaPath], [Microsoft.VSTS.Common.ActivatedDate], [Microsoft.VSTS.Common.ClosedDate]
FROM WorkItems
WHERE [System.TeamProject] = @project
  AND [System.State] = 'Closed'
  AND [Microsoft.VSTS.Common.ClosedDate] >= @today - 180
Azure Test Plans / TestRail / Xray / Zephyr
Test pass rate
Quality › Test Pass Rate Export test results or test runs to CSV/Excel: Azure Test Plans (Test Plans → Progress report → Export), TestRail (Run → Export → CSV), Xray / Zephyr (test execution → Export). One row per test result with an Outcome / Status column.
Filter
Test runs completed in the last 6 months; include Outcome (or Status), Run date and Team / Suite.
GitHub
Deployment frequency (Actions deploy workflow)
DORA › Deployment Frequency GitHub has no CSV export for workflow runs, so use the GitHub CLI (gh). The command writes a CSV with a header row; change deploy.yml to your production deploy workflow. Run once per repo and set Team to the repo or team name.
GitHub CLI
gh run list --workflow deploy.yml --branch main --limit 1000 \
  --json createdAt,conclusion,headBranch \
  --jq '["created","conclusion","branch"], (.[] | [.createdAt, .conclusion, .headBranch]) | @csv' > deploys.csv
GitHub
Lead time for changes (PR opened → merged)
DORA › Lead Time for Changes Use the GitHub CLI. This measures pull request open → merge, a common stand-in for DORA lead time when deploys follow merges to main.
GitHub CLI
gh pr list --state merged --base main --limit 1000 \
  --json number,createdAt,mergedAt \
  --jq '["number","created","merged"], (.[] | [.number, .createdAt, .mergedAt]) | @csv' > prs.csv
GitHub
Issues closed per month (throughput)
Flow › Throughput Use the GitHub CLI to export issues as CSV (labels are joined with ";").
GitHub CLI
gh issue list --state closed --limit 2000 \
  --json number,title,labels,createdAt,closedAt \
  --jq '["number","title","labels","created","closed"], (.[] | [.number, .title, ([.labels[].name] | join(";")), .createdAt, .closedAt]) | @csv' > issues.csv
GitLab
Deployment frequency (production environment)
DORA › Deployment Frequency Use the GitLab CLI (glab) with jq. Replace 123 with your project ID.
GitLab CLI
glab api "projects/123/deployments?environment=production&status=success&per_page=100" --paginate \
  | jq -r '["created","status","ref"], (.[] | [.created_at, .status, .ref]) | @csv' > deploys.csv
Azure Pipelines
Deployment frequency (release pipeline runs)
DORA › Deployment Frequency Use the Azure CLI (az devops extension). Replace 42 with your production pipeline ID. The first line writes the header row.
Azure CLI
(printf "finished\tresult\tbranch\n"; az pipelines runs list --pipeline-ids 42 --top 1000 \
  --query "[].[finishTime, result, sourceBranch]" -o tsv) > deploys.tsv
Linear
Sprint reports from cycles
Sprint reports + Delivery metrics Settings → Workspace → Import / Export → Export CSV (or select issues in a view → ⋯ → Export). Cycles are read as sprints; Estimate as points.
Linear filter
Team is <your team> · Cycle is any of <last 6 cycles> · Type: all issues
Linear
Cycle time (started → completed), 85th percentile
Flow › Cycle Time (85th percentile) Export issues as CSV. Linear includes Started and Completed timestamps, so this is true start-to-finish cycle time.
Linear filter
Status type is Completed · Completed date is after 6 months ago

Work management

AppGives youHow to export
Monday.com
Sprint reports (monday dev sprints)
Sprint reports + Delivery metrics Board ⋯ → More actions → Export board to Excel. Load the .xlsx directly; title and group rows are skipped. Needs Sprint, Status and Story Points (or Estimate) columns.
Board view
Filter: Sprint is any of <last 6 sprints>. Show columns: Name, Sprint, Status, Story Points, Team.
Monday.com
Items completed per month
Flow › Throughput Export board to Excel. Add a "Completion date" (or Date) column on the board, or use a Last updated column, so items can be counted by month.
Board view
Filter: Status is Done · Completion date is in the last 6 months
Asana
Cycle time (created → completed), 85th percentile
Flow › Cycle Time (85th percentile) Project → ⌄ menu → Export / Print → CSV. Asana includes Created At, Completed At and Projects.
Asana search
Advanced search → Completed: within the last 6 months · In projects: <your projects> → Export CSV
Asana
Tasks completed per month
Flow › Throughput Export the project (or an Advanced search result) as CSV.
Asana search
Completed: within the last 6 months · In projects: <your projects>
ClickUp
Sprint reports from sprint lists
Sprint reports + Delivery metrics Open the Sprint folder → List view → ⋯ → Export view (CSV). Each sprint is a List, so the List name becomes the sprint. Add Sprint Points (or a Story Points field).
ClickUp view
Sprint folder · All lists · Include closed tasks · Columns: Task Name, Status, Sprint Points, List Name, Date Created, Date Closed
ClickUp
Cycle time (created → closed), 85th percentile
Flow › Cycle Time (85th percentile) List view → ⋯ → Export view (CSV) with Date Created and Date Closed. Written-out dates ("Wednesday, October 8th 2026") are understood.
ClickUp view
Filter: Status is closed · Date Closed is last 6 months
Trello
Cards finished per month
Flow › Throughput Trello Premium / Enterprise: board menu → Print, export and share → Export as CSV. Counts cards in your Done list by their last activity date (free Trello exports JSON only).
Board
Cards in list "Done" (archive older cards to keep the export small)
Any tracker
Work in progress today
Flow › Work in Progress Export everything that is not finished from Jira, Azure DevOps, Linear, Asana, ClickUp or Monday. Counts items in an in-progress status at the time of export.
JQL (Jira example)
project = ABC AND statusCategory = "In Progress" ORDER BY updated DESC
Any tracker
Work item age (in-progress items)
Flow › Work Item Age Export in-progress items with a start date: Azure DevOps Activated Date, Linear Started, Asana / ClickUp Start Date, or Jira Created (as an approximation).
WIQL (Azure DevOps example)
SELECT [System.Id], [System.AreaPath], [Microsoft.VSTS.Common.ActivatedDate] FROM WorkItems WHERE [System.TeamProject] = @project AND [System.State] = 'Active'

Service & ops

AppGives youHow to export
ServiceNow
Time to resolve incidents (days)
Operations › Time to Resolve Incident → All, paste the filter into the list URL (sysparm_query) or build it with the condition builder, show Number, Opened, Resolved, Assignment group, Priority, then right-click a column header → Export → CSV (or Excel).
ServiceNow filter
resolved_atRELATIVEGT@month@ago@6^ORDERBYDESCresolved_at
ServiceNow
Mean time to resolve, P1/P2 (hours)
Service Management › Mean Time to Resolve Same incident export as above, restricted to priority 1 and 2.
ServiceNow filter
priorityIN1,2^resolved_atRELATIVEGT@month@ago@6
ServiceNow
Time to restore service, P1/P2 (DORA, hours)
DORA › Time to Restore Service Major / P1–P2 incident export with Opened and Resolved. Median is used so one long outage does not hide the typical restore time.
ServiceNow filter
priorityIN1,2^resolved_atRELATIVEGT@month@ago@6
ServiceNow
Incidents resolved within SLA (%)
Service Management › SLA Met Incident export with the Made SLA column (made_sla).
ServiceNow filter
resolved_atRELATIVEGT@month@ago@6
ServiceNow
Incident volume per month
Service Management › Incident Volume Incident export of everything opened in the period.
ServiceNow filter
opened_atRELATIVEGT@month@ago@6^ORDERBYopened_at
ServiceNow
Open incident backlog today
Service Management › Open Backlog Incident → Open list, export to CSV. Counts what is open at the time of export.
ServiceNow filter
active=true^stateNOT IN6,7,8
ServiceNow
First contact resolution (never reassigned)
Service Management › First Contact Resolution Resolved-incident export including the Reassignment count column.
ServiceNow filter
resolved_atRELATIVEGT@month@ago@6
ServiceNow
Change failure rate (unsuccessful changes)
DORA › Change Failure Rate Change → All, closed changes in the period, with Close code and Assignment group, exported to CSV.
ServiceNow filter (change_request)
closed_atRELATIVEGT@month@ago@6^close_codeISNOTEMPTY
Jira Service Management
Time to resolve requests and incidents (days)
Operations › Time to Resolve Filters → Advanced issue search with the JQL, then Export → Export CSV (all fields).
JQL
project = SUP AND resolved >= startOfMonth(-5) ORDER BY resolved DESC
Jira Service Management
Support lead time (service requests)
Operations › Support Lead Time Advanced issue search → Export CSV (all fields).
JQL
project = SUP AND issuetype = "Service Request" AND resolved >= startOfMonth(-5) ORDER BY resolved DESC
Datadog / UptimeRobot / Pingdom
System uptime %
Systems Performance › System Uptime Export uptime per monitor per day: Datadog (SLO → Export CSV), UptimeRobot (Monitor → Export logs / uptime report CSV), Pingdom (Reports → Uptime → Export CSV). One row per monitor per day with an uptime %.
Report
Uptime report, daily granularity, last 6 months, all production monitors
Datadog / New Relic
Request success rate (reliability)
Systems Performance › System Reliability Export a daily table of successful and total requests per service (Datadog dashboard widget → Export → CSV; New Relic query results → Export CSV).
NRQL (New Relic example)
SELECT count(*) AS 'Total', filter(count(*), WHERE httpResponseCode < 500) AS 'Successful' FROM Transaction FACET appName SINCE 6 months ago TIMESERIES 1 day

Business data

AppGives youHow to export
Xero / MYOB / SAP / Excel
Opex variance (budget − actual)
Financial › Opex Variance Export a budget-vs-actual report to Excel or CSV with one row per cost centre (or team) per month: Xero (Reports → Budget Variance → Export → Excel), MYOB (Budget analysis → Excel), SAP (cost centre report → Spreadsheet). Positive = under budget.
Report
Budget variance by month, operating expenses, by tracking category / cost centre, last 6 months
Finance spreadsheet
Cost recharge variance (recharged − planned)
Financial › Cost Recharge Variance Export the recharge / chargeback schedule with planned and recharged amounts per team per month.
Report
Chargebacks by team and month: Planned recharge, Actual recharge
Harvest / Tempo / Clockify
Utilisation (% of hours on billable or planned work)
DevOps & Culture › Utilisation & Capacity Export detailed time entries to CSV or Excel: Harvest (Reports → Detailed time → Export), Tempo (Reports → Logged time → Export), Clockify (Reports → Detailed → Export). Needs Hours and a Billable (or Project / Category) column.
Report
Detailed time report, last 6 months, grouped by person, with Billable flag
SurveyInSite / Typeform / Qualtrics / Google Forms / SurveyMonkey
Net Promoter Score
Customer Satisfaction › NPS Score Export responses to CSV or Excel: SurveyInSite (Results → Export), Typeform (Results → Download CSV/XLSX), Qualtrics (Data & Analysis → Export → CSV), Google Forms (Responses → Link to Sheets → File → Download → CSV), SurveyMonkey (Analyze → Save as → Export file → All responses).
Survey
"How likely are you to recommend us to a friend or colleague?" (0–10), plus the response date and (optionally) a team / product question
Any survey tool
Customer rating (average score)
Customer Satisfaction › Customer Rating Export responses with a 1–5 (or 1–10) satisfaction question.
Survey
"Overall, how satisfied are you?" (1–5)
Agile maturity survey
Agile maturity (average self-assessment)
DevOps & Culture › Agile Maturity Run a team self-assessment (1–5 per practice) in any survey tool and export the responses. Each row is one person's overall or per-practice score.
Survey
Team (choice) · "Rate your team's practice maturity" (1–5) · response date
Skills matrix (Excel)
Skills coverage (% of required skills at level 3+)
DevOps & Culture › Skills Coverage One row per person per required skill with a proficiency level (1–5). Save the skills matrix sheet as CSV, or load the .xlsx.
Sheet
Columns: Team, Person, Skill, Level (1–5)
Risk register (Excel / GRC tool)
IT risk score (average likelihood × impact, open risks)
Strategic & Risk › IT Risk Score Export the risk register (Excel, ServiceNow GRC, Archer…) with Likelihood and Impact ratings (1–5) and Status.
Register
All risks with Status not Closed; columns Team / Owner area, Likelihood, Impact, Status
Incident / breach register
Data privacy breaches per month
Strategic & Risk › Data Privacy Breaches Export the security / privacy incident register (or ServiceNow security incidents) with a Category and Date reported.
ServiceNow filter (sn_si_incident)
categoryLIKEprivacy^sys_created_onRELATIVEGT@month@ago@12
Your app isn't listed? Choose Custom. If the app can export a table with a team, a date and something to count or measure, it can feed a metric. Excel files work as they are; dates can be ISO (2026-10-08), day-first (08/10/2026), month-first for US-locale exports, Jira style (08/Oct/26) or written out (October 8th 2026).

4 · Set your targets

The Framework tab holds the areas and metrics on your scorecard. The default has eight areas: Delivery, Operations, Systems Performance, Quality, DevOps & Culture, Financial, Strategic & Risk and Customer Satisfaction. For each metric you can set:

Rename, add or remove anything to fit how your organisation reports. If you want to start lean, pick Lean delivery from the template list and click Replace with template.

To add whole areas beside the ones you have, pick a pack and click Add to framework:

5 · Read the scorecard

The Scorecard shows every metric for one team, or for the whole portfolio, with a status against its target:

Use the team buttons at the top right to switch between teams and Portfolio. Auto metrics fill themselves in from each team's latest sprint, and you can type entered metrics straight into the table. On the portfolio view, auto metrics pool every team's points (not an average of percentages), and entered metrics roll up from the teams unless you type a portfolio figure.

6 · Sprint report

The Sprint report tab covers one sprint for one team: committed vs delivered points, a scope waterfall, velocity across sprints, issue types and, if you pasted a Sprint Report, the issues themselves. There's space for sprint goals, an executive summary and recommendations, which are included in the PDF.

The three rates

RateCalculationQuestion it answers
Delivery rateDelivered ÷ committed at sprint startDid the team deliver what it signed up for? This is the scorecard's Commitment Ratio.
Completion rateDelivered ÷ final scope (delivered + not completed)How much of what the sprint became got done?
All-in rateDelivered ÷ final scope + removedCounting work pulled out of the sprint too, how much got done?

When the rates differ, the gap is scope change. The report spells out how much was added or removed. A delivery rate above 100% means work was added mid-sprint and delivered.

7 · Cross-team roll-up

The Roll-up tab puts every team and the portfolio side by side, coloured against target. Needs attention lists teams that are off target or trending down, and Velocity by team compares rolling three-sprint velocity. This is the page to bring to a steering meeting.

History arrives two ways. Imports with a date column (section 3, or Metric values with a Period column) fill in each month automatically. For figures you type in, record a snapshot:

  1. On the Scorecard, choose the Snapshot period (month), e.g. September 2026.
  2. Click Record snapshot. It captures every team and the portfolio at once.
  3. Do the same each month or quarter. The Trends tab then charts each metric over time, and the scorecard shows the change since the previous snapshot.

Recording a snapshot for a period that already has one replaces it. Delete old snapshots at the bottom of the Trends tab.

9 · Export & share

Everything is under Export & share at the top right of the tool:

OptionWhat you get
PDF — steering packA landscape PDF with the scorecard, the cross-team roll-up, the latest sprint for each team and the direction of travel.
PDF — this sprint reportThe sprint currently open on the Sprint report tab, including your goals, summary and recommendations.
CSV — scorecard valuesEvery metric for every team with target and status, ready for Excel or Power BI.
CSV — sprint dataAll sprints and their calculated rates.
Copy share linkA link with the report packed inside it. Whoever opens it sees your report and can keep a copy. Nothing is stored on our servers, so treat the link like the file itself.
Back up (JSON) / Restore from backupA full copy of everything, to move to another computer or keep safe.

10 · Your data & backups

ReportInSite runs entirely in your browser. What you import or type is saved on your own device and is not uploaded. That means:

More detail is on the Security & Data page.

11 · Troubleshooting

"No story points column found"

Your Jira export didn't include story points. Make sure you choose Export CSV (all fields), not "current fields". Issue counts and lead time still work without points.

The pasted Sprint Report adds nothing, or the numbers look wrong

Copy from Jira's Sprint Report page itself, starting at the "Completed Issues" heading, and paste without tidying it up. The tool relies on Jira's tab spacing.

"The file needs Area, Metric and Value columns"

You've chosen Metric values (CSV) for a sprint file. Use Sprint summary (CSV) or Jira issue export (CSV) instead, or start from the template.

Some metric values were "not in your framework"

The Area and Metric names in your CSV must match the Framework tab exactly. Download the template again to get the current names.

Committed doesn't match Jira

See the note in section 2: paste the Sprint Report for that sprint for exact figures.

My data has gone

Check you're in the same browser and not a private window. If browser data was cleared, restore from your last backup.

Open ReportInSite →