Hello Support,
I am currently working on calculating KPIs based on Jira board data, specifically measuring the time each issue spends in various statuses such as "To Do", "In Progress", and "Done".
I am using the Jira REST API endpoint /rest/api/3/search with the following JQL to fetch issues:
maxResults=10&jql=project IN ("Scrum - Application Engineering", "Kanban - Application Engineering", "Bug Lifecycle Management") AND issuetype NOT IN ("Job request", Meeting, Spike) AND status WAS IN (Rework, Reopened) AND created >= startOfMonth()
From the response, I extract each issue and its assignee. To calculate the time spent in each status, I need historical transition data. I found that the changelog expansion on the issue endpoint provides this:
{/rest/api/3/issue/{issueIdOrKey}?expand=changelog
However, this API only supports one issue at a time. Since I need to process a large number of issues (e.g., 1000+), making individual requests per issue is inefficient and hits API rate limits quickly.
My questions are:
Is there any Jira REST API that supports retrieving changelog or status transition history for multiple issues in a single request?
If not, is there an alternative recommended approach to efficiently retrieve time spent in each status across many issues?
Are there any official plugins, webhooks, or reporting APIs that can help with this use case?
I would appreciate any guidance or best practices for efficiently extracting this data at scale.
Thank you for your support.