JIRA REST API with JQL (group by status category)
It is possible to customize the status a JIRA issue passes through but they are always assigned one out of three status categories. JIRA has no easy solution to report how many issues are currently in a state associated with the category "To Do", "In Progress" or "Done", so if you have a complex workflow it might be tricky to get the big picture. Many of our customers struggle with this. So now we will build an overview like that.
Most of the work (i.e. grouping by status category) is done within the converter, while we use a basic jql to retrieve all issues of a project.

Datasource
Datasource type | REST Application Link |
---|---|
Application Link | Your Company Jira |
Datasource Test URL | /rest/api/2/search |
Query
Query URL |
CODE
|
---|
Converter
function convert(json) {
const issues = JSON.parse(json).issues; // parse json string
const categories = {};
// iterate through issues and count occurrences of categories
for (let issue of issues) { // iterate over all issues
let category = issue.fields.status.statusCategory;
if (categories[category.name]) { // category is already listed, increase counter
categories[category.name]++;
} else { // category is new, add it to our collection
categories[category.name] = 1;
}
}
// build simple result for template
const result = [];
for (let categoryName in categories) {
result.push({
'Category': categoryName,
'Number of Issues': categories[categoryName]
});
}
result.sort(function(a,b) {
return a.Category < b.Category ? 1 : -1;
});
return result;
}
Template
Default or this custom chart template:
<script>
PocketQuery.chart('ColumnChart', {
width: 500,
height: 500,
bar: {groupWidth: "30%"},
legend: {position: 'none'}
});
</script>