How to Connect Power BI to JIRA Using REST API Without Third-Party Apps
After years of delivering successful system integration projects, I'm excited to share this write-up that continues to drive value for many users! Two years ago, I proposed a solution for Microsoft Power BI and Atlassian JIRA integration using the REST API—without relying on any third-party apps. I found no such simple solution available on the internet, so I got a hint from a simple curl command and developed an integration solution from it. This solution is still actively helping professionals to fetch JIRA data into PowerBI. The original post was shared in Atlassian Community here https://community.atlassian.com/t5/Marketplace-Apps-Integrations/How-to-connect-Power-BI-to-JIRA-using-Rest-API-and-without-third/qaq-p/2255960?utm_source=atlcomm&utm_medium=email&utm_campaign=mentions_reply&utm_content=topic#U2804427
Integrating JIRA with Power BI can help organizations access real-time project data, create insightful reports, and manage workflows more efficiently. While many third-party apps offer this functionality, you can bypass them using JIRA’s REST API to establish a direct connection with Power BI. This solution is simple and scalable.
I found no such simple solution available on internet so I got a hint from simple curl command and tried to have integration solution out of it:
curl -D- \
-X GET \
-H "Authorization: Basic YOUR_BASE64_TOKEN" \
-H "Content-Type: application/json" \
"https://DOMAIN.atlassian.net/rest/api/2/issue/ISSUE"
Step 1: Generate Base64-Encoded Authentication Token
First, you need a Base64-encoded token that JIRA will use for authentication.
Open a terminal (or use an online tool like Base64 Encode).
Encode the string:
EMAIL:API_TOKEN
Example:myemail@company.com:your_api_token_here
You can generate this with a curl command:
echo -n "myemail@company.com:your_api_token_here" | base64
Step 2: Connect Power BI to JIRA
Open Power BI.
Go to Get Data > Web.
Enter the JIRA REST API URL (as used in step 2).
In the headers:
Add
Authorization: Basic [Space] YOUR_BASE64_TOKEN
Add
Content-Type: application/json
.
![Screenshot of Power BI connection screen with headers]
Click OK to establish the connection.
Step 3: Create a Power BI Function to Fetch Data
You’ll now create a Power BI function to retrieve data from JIRA in batches, as JIRA limits the number of records retrieved in a single query. Name it "GetJIRAData"
In Power BI, create a new query and enter the following code:
let
GetJiraData = (offset) =>
let
myURL = "https://your_domain.atlassian.net/rest/api/3/",
Jql = "project=WPM", // Modify this with your actual project key
Fields = "summary,key,issuetype,status,assignee", // Add fields as needed
StartAt = Number.ToText(offset),
MaxR = "100",
Source = Json.Document(Web.Contents(myURL,
[RelativePath="search?",
Query = [ jql=Jql, fields=Fields, maxResults=MaxR, startAt=StartAt ],
Headers = [ Authorization="Basic YOUR_BASE64_TOKEN", #"Content-Type"="application/json" ]
]
))
in
Source
in
GetJiraData
Replace the placeholder values with actual data (e.g., your domain, API token).
You can modify the
Fields
variable to fetch additional data from JIRA.
Step 4: Query Iteration for Large Data Sets
Since JIRA limits the number of records fetched per call (usually 1000), you can create an iterative query in Power BI to retrieve all records in batches.
Create another query, naming it
JiraData
:
let
JiraData = List.Generate(
() => [offset = 0, data = GetJiraData(0)],
each not List.IsEmpty([data][issues]),
each [offset = [offset] + 100, data = GetJiraData([offset])],
each [data]
)
in
JiraData
Power BI will now iterate through the data in batches of 100 records until all issues are retrieved.
Step 6: Transform and Load Data into Power BI
Once the data is imported:
Transform the data "JIRAData" as needed within Power BI to fit your reporting needs.
Here are few transformation I applied. Start with "Converted to table" and then expand it to get columns.
Create visualizations and reports based on the JIRA data.
#PowerBI #JIRA #SystemIntegration #RESTAPI #DataIntegration #TechInnovation #ProjectManagement
Comments