Connecting Power BI to Jira: A Complete Step-by-Step Guide
Connecting Power BI to Jira unlocks advanced reporting capabilities for agile teams, project managers, and data analysts who need to move beyond native dashboard limitations. By centralizing sprint metrics, issue histories, and custom fields into interactive dashboards, you can analyze velocity, cycle times, and workload distribution at scale.
You can approach connecting Power BI to Jira using two primary methods: third-party marketplace connectors or Jira’s REST API via Power Query. While third-party connectors offer streamlined schema mapping and easier maintenance, the API route provides granular control over data extraction, though it requires manual handling of authentication, pagination, field mapping, and refresh compatibility.
This complete guide focuses on Jira Cloud and Power BI Desktop. If you are using Jira Data Center or Server, ensure your chosen connector or API configuration explicitly supports your specific hosting setup and version.
Key Takeaways

- Primary Objective: Establish a reliable, automated data pipeline for cross-project agile analytics.
- Scope: Jira Cloud and Power BI Desktop integration frameworks.
- Prerequisites: Basic familiarity with Power Query or third-party Atlassian Marketplace integration tools.
Choosing a Connection Method
When connecting Power BI to Jira, selecting the right architectural approach depends on your team’s technical bandwidth, reporting scale, and budget.
| Method | Best For | Trade-offs |
| Third-Party Jira Connector (e.g., Tempo Power BI Connector, Appfire) | Teams that want a guided, low-code setup, custom fields, and sprint-focused reporting. | Typically a paid software subscription; requires reviewing app permissions, data residency compliance, and version support. |
| Jira REST API through Power Query | Analysts who need precise control over JQL queries, custom data shaping, and selected fields without software costs. | Requires hands-on handling of API authentication, complex pagination, custom field mapping, and ongoing maintenance. |
| Export to a File or Staging Database | Enterprise teams that need to store, clean, or combine massive data sets from multiple platforms before reporting. | Introduces an intermediate ETL process, extra infrastructure overhead, and the responsibility for secure storage and scheduled updates. |
Verifying Marketplace Tools
Atlassian Marketplace lists specialized connector applications designed to bridge the gap between Jira and Power BI. For instance, options like Tempo’s Power BI Connector for Jira and Appfire’s Power BI Connector advertise streamlined synchronization for standard fields, custom attributes, issue history, agile metrics, and scheduled cloud refreshes. Because features, data residency options (such as regional EU or US hosting), and licensing costs vary, always verify current security compliance and feature sets directly with the vendor before deployment.
Strategic Recommendation
Start with a certified third-party connector if your team requires a rapid, low-code rollout or robust sprint metric templates. Opt for the Jira REST API route only if you possess the Power Query expertise required to manage pagination and schema changes over time. For enterprise environments with heavy data loads, a managed data pipeline or secure staging process is strongly recommended over fragile, direct queries.
Before You Connect
Before establishing your data pipeline and connecting Power BI to Jira, verify the following prerequisites to prevent permission errors, failed refreshes, and data governance issues:
- Jira Instance URL: Confirm your base URL (e.g.,
[https://company.atlassian.net](https://company.atlassian.net)). - Project Scope & JQL Filters: Define the specific project keys or Jira Query Language (JQL) filters necessary to pull only the required datasets, keeping query payloads lightweight.
- Access Permissions: Ensure the account used for the connection has explicit visibility over all target projects. Jira enforces strict access controls at the API level; data inaccessible to the service account will be omitted from Power BI.
- Field Mapping Requirements: Inventory standard fields (status, assignee, created date) alongside required custom fields (story points, epic links, teams) to map transformations correctly.
- Data Sensitivity Audit: Check whether exported payloads include sensitive information such as internal comments, customer personal data (PII), or granular work logs.
- Credentials & Refresh Strategy: Establish how reports will automatically refresh in the Power BI Service and designate which service or functional account maintains the API credentials.
Security Best Practice
Always use a dedicated, least-privilege service account for your integration rather than an individual team member’s personal credentials. This prevents dashboard breaks when personnel leave the organization and aligns with standard compliance policies.
Option 1: Use the Jira REST API via Power Query
Connecting directly via the REST API gives you full control over JQL filters, fields, and queries without relying on third-party software. However, you must handle authentication, pagination, and data shaping manually.
- Generate a Jira API Token: Log in to your Atlassian account settings, navigate to Security > API token, and click Create API token. Copy and save the token securely; you will not be able to view it again.
- Verification: Confirm the token status displays as active in your Atlassian account dashboard.
- Open Power BI Desktop and Access Power Query: Launch Power BI Desktop, click Get Data, and select Web.
- Verification: Ensure the From Web connection window opens successfully.
- Configure Basic Authentication and Headers: Set the URL to your Jira REST API endpoint (e.g.,
[https://your-domain.atlassian.net/rest/api/3/search](https://your-domain.atlassian.net/rest/api/3/search)). Under Basic authentication, enter your Jira account email address as the username and your generated API token as the password. Include headers forAccept: application/json.- Verification: Test the credentials to ensure Power BI establishes a successful connection without a 401 Unauthorized error.
- Handle Pagination and JSON Record Expansion: Jira REST APIs return paged results (usually 50 to 100 issues at a time). Write a custom Power Query function or pagination loop to cycle through
startAtparameters until all issues are retrieved. Expand theissueslist and nested custom fields into columns.- Verification: Check the row count in Power Query to ensure it matches the total issue count returned by your JQL filter in Jira.
- Set Data Types and Relationships: Ensure dates (created, updated, resolved) are set to Date/Time types, issue keys are unique text strings, and foreign keys link properly between tables (such as assigning worklogs or comments to parent issue keys).
- Verification: Inspect the Data View in Power BI to confirm relationships auto-detect correctly or can be linked via unique keys without cardinality errors.
- Publish and Configure Scheduled Refresh: Publish your report to the Power BI Service. Go to your dataset settings, configure cloud credentials (or set up an On-Premises Data Gateway if connecting to a hybrid setup), and schedule your automatic data refreshes.
- Verification: Trigger a manual refresh in the Power BI Service and check the refresh history for any authentication or timeout failures.
Option 2: Use the Jira REST API
For Jira Cloud, Power BI’s Web connector can retrieve web resources, including JSON. The Web connector supports authentication methods that include Basic and Web API in Power BI Desktop, but Microsoft notes that the Web API authentication type is not supported in the Power BI service. Confirm that your chosen authentication method works after publication, not just locally.
Step 1: Create a limited Jira query
Use Jira Query Language (JQL) to limit the data set and return only fields needed for analysis. For example:
text<code>project = ABC
AND updated >= -90d
ORDER BY updated DESC</code>Code language: HTML, XML (xml)Replace ABC with your Jira project key. This example returns issues updated within the last 90 days; adjust the filter to fit your reporting question and retention requirements.
Step 2: Create an API token
For Jira Cloud basic authentication, Atlassian documents using the Atlassian account email address with an API token. Password authentication has been deprecated. Atlassian describes basic authentication as less secure than OAuth-based methods and recommends it mainly for simple scripts and manual API calls.
Treat an API token as a secret:
- Store it using an approved credential-management method.
- Do not paste it into a public report, shared M code, repository, or screenshot.
- Use an account with the smallest practical set of Jira permissions.
- Revoke and replace the token if it is exposed or no longer needed.
For a reusable organisational integration, evaluate an OAuth-based app or an approved connector rather than distributing individual API tokens.
Step 3: Test the API request
Jira Cloud’s current enhanced issue-search endpoints include /rest/api/3/search/jql and support JQL, selected fields, maxResults and token-based pagination through nextPageToken. The older /rest/api/3/search endpoints are marked as being removed in Atlassian’s current documentation.
A basic test in an API client should request only a few fields, for example:
text<code>GET https://your-domain.atlassian.net/rest/api/3/search/jql
?jql=project%20%3D%20ABC
&fields=summary,status,assignee,issuetype,priority,created,updated
&maxResults=100</code>Code language: HTML, XML (xml)Use your Jira site hostname and URL-encode the JQL. Authenticate using the method you have chosen. A successful response should contain an issues array. If it is empty, check the JQL and the connected account’s project permissions.
Step 4: Connect from Power BI Desktop
- Select Get Data> Web.
- Enter the Jira API endpoint or configure the URL using the Advanced option.
- Select the authentication method that matches your setup.
- In Navigator or Power Query, open the JSON response and expand the
issueslist. - Expand each issue’s
fieldsrecord and select the columns required for your report. - Rename fields to readable names, set suitable data types, and remove unnecessary columns.
- Select Close & Apply to load the data.
Power Query’s Web connector can build URLs from parts and supports request headers in Web.Contents. However, authentication and refresh behaviour depend on the exact query and Power BI environment.
Step 5: Handle pagination
Do not assume one API response contains every matching issue. Jira’s enhanced search uses nextPageToken for subsequent pages; the older offset-based search behaviour should not be copied into a new Jira Cloud implementation without checking the current endpoint documentation.
A production query must:
- Request the first page.
- Read the returned
nextPageToken. - Request the next page using that token.
- Continue until the API indicates there are no more results.
- Combine the pages before expanding the issue data.
If your report has many issues, test refresh time and API limits. Avoid requesting every available field when the dashboard only needs a small subset.
Important
The simple URL example above is for testing, not a complete paginated Power Query solution. The precise Power Query M code depends on how you store credentials, construct the request, and implement the token loop. For a production report, follow Microsoft’s current
Web.Contentsguidance and Atlassian’s current search API documentation, then test scheduled refresh in your tenant.
Build a useful Jira dashboard
Begin with a clear reporting question. For example: “Which work is open, how is it distributed, and what changed during the last quarter?” That question guides which Jira fields to retrieve and which visuals to build.
A practical issue table often includes:
- Issue key and summary.
- Project and issue type.
- Status and priority.
- Assignee.
- Created, updated, and resolved dates.
- Sprint or epic, if available and relevant.
- Estimate fields, if the team uses them consistently.
Possible visuals include:
- Issue count by status: a bar or column chart.
- Open issues by assignee: a bar chart, with care not to treat raw counts as a productivity score.
- Issues created and resolved over time: a line chart using date fields.
- Priority by project: a stacked chart or matrix.
- Sprint delivery: completed versus planned work, only if the sprint data and scope changes are captured correctly.
- Issue detail table: a drill-through view for the people responsible for follow-up.
Jira Software’s REST API includes sprint-related operations, including an enhanced endpoint for retrieving sprint issues. Sprint reporting may require sprint and board data beyond a basic issue search.
Define metrics before presenting them. For example, “resolved issues” might mean issues with a resolution date inside a period, not merely issues whose current status is Done. Likewise, velocity should use a consistent estimate method and should not be compared between teams unless the measurement rules are meaningfully comparable.
Model the data carefully
A Jira issue export may contain nested JSON values and custom fields. Flatten only the data needed for analysis. Keep stable identifiers such as issue ID or key where practical so you can relate issue records to other tables.
Use a date table for time-based analysis. Decide whether each date visual uses created date, updated date, due date, or resolution date. These dates answer different questions and should not be mixed without clear labels.
Also distinguish current-state reporting from historical reporting. If you refresh an imported table of issues, it generally reflects their latest values. It does not automatically preserve every past status or sprint change.
For trend analysis over time, you may need Jira changelog data, periodic snapshots, or a connector that explicitly provides history. Atlassian’s API separates issue searching and sprint-related operations, so do not assume a basic issue response supplies a complete historical record.
Configure data refresh
Power BI Import mode stores a copy of source data in the semantic model. To see later Jira changes, that model must refresh. Microsoft explains that dynamic data sources can prevent service refresh in many cases, though Web.Contents queries using RelativePath and Query can be exceptions.
After publishing:
- Open the semantic model settings in the Power BI service.
- Configure the data-source credentials.
- Set a schedule appropriate to how often Jira data changes and how current the report needs to be.
- Run Refresh now and inspect refresh history.
- Confirm that the report shows recent Jira changes after a successful refresh.
Do not assume a gateway is always required for a cloud Jira source. Power BI gateway requirements depend on the source and query configuration; Microsoft distinguishes cloud sources that Power BI can reach directly from sources that require a gateway.l
If the query uses a changing full URL, check whether Power BI identifies it as a dynamic source. Structure the query to follow the supported Web.Contents refresh pattern and verify it in the service. A query that works in Desktop can still fail after publication.
Troubleshoot Common Problems
When connecting Power BI to Jira, minor configuration mismatches, permission gaps, or API changes can cause synchronization errors. Use the troubleshooting reference below to diagnose and resolve common issues:
| Problem | What to Check & Fix |
| 401 Unauthorized | Confirm your Jira account email address, API token, and authentication method. Remove stale Power BI credentials from the Data Source Settings and re-authenticate. Note that Jira Cloud basic authentication requires an API token, not your account password. |
| 403 Forbidden or Missing Issues | Verify that the connected account has explicit permission to browse the target project and view issues under active issue-level security schemes. API data access strictly mirrors your Jira user permissions. |
| Some Issues Are Missing | Review your JQL filter, access permissions, and pagination logic. Enhanced search endpoints use nextPageToken; ensure your query loop continues fetching until the final page is reached. |
| A Field Is Absent or Blank | Check that the field is accessible to your service account and explicitly included in the API request’s field selection. Custom fields often require custom expansion in Power Query. |
| Works in Desktop but Fails in the Service | Inspect data-source credentials, dynamic URL construction, and cloud authentication support. Microsoft restricts certain dynamic data sources and Web API authentication types within the Power BI Service. |
| Refresh Is Slow or Times Out | Narrow your JQL filters, request only essential fields, streamline query transformations, and consider moving to a certified third-party connector or staging database for large-scale enterprise workloads. |
| Sprint Report Looks Incorrect | Check whether historical sprint membership, scope changes, and closed sprint data are present in your payload. A static current-issue export alone will not capture historical sprint scope changes. |
Security and Maintenance
When connecting Power BI to Jira, robust security and ongoing maintenance are essential to prevent data leaks, permission slips, and broken pipelines.
- Data Sensitivity & Access Governance: Jira datasets frequently contain sensitive operational data, internal comments, customer PII, and work logs. Always limit imported columns to what the business metrics strictly require. Restrict report and semantic model access in the Power BI Service, keeping in mind that sharing a report does not restrict underlying data if users have build permissions.
- Third-Party App Evaluation: Before adopting a marketplace connector for connecting Power BI to Jira, thoroughly audit its vendor permissions, privacy policy, compliance standards, and regional data residency options. Marketplace offerings vary widely in how they handle credentials and cloud processing. Always verify current terms directly with the provider before production deployment.
- Proactive Monitoring & Lifecycle Management: Regularly review your integration when Atlassian updates its REST APIs, third-party connectors release version patches, or Power BI updates authentication rules. Routinely monitor automated refresh histories, test schema modifications locally, and validate published models to ensure uninterrupted reporting.
Can I connect Jira to Power BI for free?
Yes. You can use Power Query and Jira’s REST API without paying for third-party software, though this route requires custom setup, pagination logic, and ongoing maintenance. If you opt for an Atlassian Marketplace app when connecting Power BI to Jira, pricing varies by user tier and features, so verify current app costs and Power BI Pro/Premium licensing requirements beforehand.
Can Power BI refresh Jira data automatically?
An imported Power BI model can refresh on an automated schedule provided the source connection, credentials, and query structure are fully supported in the Power BI Service. Always test a scheduled refresh immediately after publishing; a successful refresh in Power BI Desktop does not guarantee that cloud-based execution will succeed.
Can I analyze Jira sprint velocity?
Yes, provided you extract the necessary sprint data and define your metrics consistently. True sprint-level analysis often requires Jira Software board and sprint endpoints beyond a basic issue search. Treat velocity as a planning tool for individual teams rather than a universal cross-team productivity score.
Why does Power BI show fewer Jira issues than expected?
The most common culprits are restrictive JQL filters, limited API account permissions, or incomplete pagination. Check the connected account’s project visibility and confirm that your Power Query logic iterates through every nextPageToken until all result pages are exhausted.
Should I use the API or a connector?
Choose a certified third-party connector when you need a guided setup, pre-mapped custom fields, or dedicated sprint reporting with minimal custom code. Choose the native REST API route when you require exact control over JQL queries, have the technical capacity to maintain Power Query pagination, and want to avoid third-party subscription costs.
In Conclusion
Connecting Power BI to Jira can help you transform project data into meaningful insights, improve reporting, and make better data-driven decisions. However, a successful integration depends on choosing the right connection method, protecting your credentials, and ensuring that your reports accurately reflect the underlying Jira data.
Before finalizing your setup, keep these best practices in mind:
- Choose the right integration method: A third-party connector may reduce maintenance, but evaluate its cost, permissions, security, and data-handling practices before using it.
- Use the appropriate Jira REST API: For new Jira Cloud integrations, consider the enhanced JQL issue search endpoint and implement token-based pagination where required.
- Protect your API credentials: Keep credentials out of shared query text and use an account with only the Jira permissions necessary for the integration.
- Test data refresh: Verify that scheduled refresh works in the Power BI service and compare report results against Jira to identify discrepancies.
- Define your metrics clearly: Establish consistent definitions for resolution time, issue completion, sprint performance, and other project KPIs before building dashboards.
What to Do Next
Start with a single Jira project. Create a small JQL query, retrieve a limited set of fields, and validate the results in Power BI. Once you have confirmed that the connection, data accuracy, and refresh process work as expected, gradually expand your dataset and build dashboards around your reporting needs.
With the right setup and validation, you can turn Jira project data into reliable Power BI reports that support better project tracking, performance analysis, and decision-making.



