I'm the founder of FreeMetrics — we make BigQuery Sync for Jira, so this guide uses our app for the walkthrough. The SQL and the data-modelling advice apply no matter what you use.
Once your Jira data lives in BigQuery, questions that are painful in Jira become one-line SQL: cycle times across projects, time in status, "how many open bugs did we have on March 1st", revenue per feature joined from your billing tables. Here's how to get there in about ten minutes — and what to check before choosing a tool.
In the Google Cloud console: BigQuery → your project → Create dataset (say, jira, location of your choice — it can't change later). A 100,000-issue site stores well under 1 GB, and BigQuery load jobs are free.
Nothing project-wide beyond running jobs:
BigQuery Job User on the projectBigQuery Data Editor on the one datasetCreate a JSON key. (Our docs have a copy-paste gcloud script: freemetrics.io/docs)
Install BigQuery Sync for Jira from the Marketplace → Apps → BigQuery Sync for Jira → paste the key, pick your projects (or all), press Start. The app backfills history and then keeps everything current — changes every 5 minutes, reference data hourly, and a nightly completeness check that compares BigQuery to Jira and repairs any gap.
You get 16 tables (issues with every custom field as a typed column, full changelog, comments, worklogs, sprints, boards, users…) and 26 maintained views. For example:
-- Average time in status, by project, this quarter
SELECT project_key, status, ROUND(AVG(hours_in_status), 1) AS avg_hours
FROM `your-project.jira.time_in_status`
WHERE entered >= '2026-07-01'
GROUP BY 1, 2 ORDER BY 3 DESC;-- How many issues were open on any given day (trend Jira can't show)
SELECT snapshot_date, COUNT(*) AS open_issues
FROM `your-project.jira.issue_daily_snapshot`
WHERE status_category != 'Done'
GROUP BY 1 ORDER BY 1;Point Looker Studio, Power BI, Tableau or Metabase at the dataset and the views work as drag-and-drop sources — no modelling required.
These four questions separate the options more than any feature list:
1. Where does your data flow? Our app runs entirely on Atlassian Forge, inside your Jira site: the manifest — reviewed by Atlassian on every release — permits egress only to bigquery.googleapis.com and oauth2.googleapis.com. There are no vendor servers that could see your data. If a tool routes data through its own cloud, that's a security review you'll have to run.
2. Does it sync the changelog, or just issues? Nearly every question worth asking (cycle time, time in status, flow) is a changelog question. Issues-only exports answer almost nothing.
3. What happens to history and deletions? We keep tables append-only with _current views, take a daily snapshot, and record deletions as tombstones — so BigQuery totals provably match Jira, and "as of any past date" queries work.
4. What does it cost at your size? BigQuery Sync for Jira is the lowest-priced Jira–BigQuery connector on the Atlassian Marketplace — about a quarter of the alternative's per-user rate at every published tier (as of September 2026; both pricing pages are public, check them live) — and the only one with a free plan: free forever for sites of 10 users or fewer. ETL platforms charge by rows; DIY charges by engineering time.
How long does the first backfill take? A 50,000-issue site typically finishes within an hour; backfills resume where they stopped and respect Jira's rate limits.
Does it handle Jira Service Management? Issues, comments and worklogs from JSM projects sync like any other project.
What Google permissions does it need? Only the two roles above, on a dedicated service account you can rotate or revoke at any time. The key is stored in Atlassian's encrypted secret storage.
Prefer watching? The whole flow in under a minute: https://www.youtube.com/watch?v=Qeta4SY_xt0
Questions about Jira data modelling — including for DIY pipelines — welcome in the comments; that's the fun part.