An HTTP proxy/connector to JIRA for easy hooking into Power BI and Excel (Power Query Web Source)
The connector exposes simple http endpoints using GET methods to allow for easy integration as a web source for reporting tools such as Power BI, Excel and Others without having to fiddle with tokens, API.
The connector is built as a single script (src/index.js) with zero dependencies that you can easily launch without need to perform any additional setup such as installing dependencies. Simply setup your .env file and run node src/index.js and you are up and running.
The connector is free to use, modify and adapt to your own data model. I only ask that if you have create new mapping functions that you share them with me so that the community would benefit from this tool.
Really simple, I promise.
- You need to have NodeJS 18+ installed. Pre-built installers exists at https://nodejs.org/en/download
- Clone or download as a zip the current repository
- create env file (see below for examples) in the root folder using your favorite text editor (such as Notepad)
- Launch the server using npm start or using node src/index
- Point your reporting platform Web JSON source http://localhost:3000/search?jql=project=abc
- The jql query parameter should be ideally URL encoded (use online url encoder - there are plenty of them)
- To view raw JIRA result, add query parameter raw=true
Here is a sample env file
JIRA_BASE=https://jira.acme.ca
JIRA_FIELDS=summary,resolution,status,priority,issuetype,fixVersions,assignee,timetracking,customfield_10000
JIRA_AUTH=NXafzdg34Tk3ODc3Olr46mdfwWWFad3asfz9wCWgfySS
PORT=3000
Here is a sample output which is very easy to import into a Web JSON data source in any reporting platform
[
{
"id": "1107395",
"key": "ABC-74974",
"self": "https://jira.acme.ca/rest/api/2/issue/1107395",
"Summary": "Test issue",
"Resolution": "Done",
"Status": "Done",
"Priority": "1. Resolve Immediately",
"Issue Type": "Bug",
"Fix Version/s": [],
"Assignee": {
"name": "Jane Smith",
"email": "jane.smith@acme.com"
},
"Epic Link": "ABC-126122"
}
]
To contribute to this project:
- Fork into your own repository
- Optionally create a new branch to work in
- Make code modifications
- Use test folder with e2e tests to quickly try your changes (will use the same env file as the main server)
- Add appropriate unit tests
- Create a Pull Request to add your code into main repository.