Get time stamps for status changes from REST API

I need to get the time stamps for when an issue has changed status (e.g. Open -> In Progress -> Closed). I want this for all the changes, not just the most recent one.

https://jira..com/rest/api/2/issue/ returns a massive amount of information including current status, but not previous changes. I know the information is there, because I do see it in the All tab in the GUI. How do I get it through the REST API?

You should add include ?expand=changelog parameter or use a separate changelog REST API https://docs.atlassian.com/jira/REST/cloud/#api/2/issue/{issueIdOrKey}/changelog-getChangeLogs

2 Likes

Thanks, that was very helpful. The good news is that the?expand=changelog worked when adding it to a jql query. This means that I don’t even have to look at individual issues, but can retrieve all the information I need in a single query. Very convenient!

Please take into account that issue and search REST API were recently changed that they return only the last 100 changelog entries in descending order. See the discussion in comments of https://jira.atlassian.com/browse/JRACLOUD-67458
So you need to check that if you have received only the last 100 changelogs then you need to get the full list of changelogs using the paginated issue changelog REST API. Please also take into account the different sorting of changelog entries in issue and search REST APIs (last changelogs in descending order) and issue changelog REST API (ascending order, need to paginate to get the full changelog).

1 Like

Thanks for the heads up! I don’t use the ordering of the changelog entries, so that isn’t an issue in this case. The correct handling for more than 100 change logs will be listed as a TODO in my code. There are limits to how correct I need to be here… :slight_smile: