How to get all issue keys for Jira tickets that have been moved between projects?

Hi All,

The Jira DataCenter API has a way to get all issue keys, even if the issue has moved between projects – IssueManager.getAllIssueKeys().
Is there a similar way for Jira Cloud REST API?

There is a ‘Get changelogs’ API call (https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-changelog-get), but it returns all changes, so the resulting list may be huge. We are looking for a simpler method.

Thank you.

Hello @denis

Can you clarify what you mean. Are you trying to get:

  1. The keys of all issues, irrespective of whether or not they have been moved to another project
  2. The keys of only those issues that have been moved to another project

If 1, then you could always do an open-ended query to the Search for issues using JQL endpoint. The number of issues returned would potentially be very large, but if that’s what you want, then it’s up to you to deal with that.

If 2, there is no REST API endpoint that can find or tell you directly which issues have been moved to another project. The only way to determine that would again to use the Search for issues using JQL endpoint, get all the issues and parse all their changelogs. Again, that would be very large task, to say the least.

Even if you break this task down into getting the changelogs of all the issues, project by project, you still have to parse the changelogs of each issue looking for the key or project fields changing from one value to another, so you’re facing a very, VERY big challenge. Half way through the task, it’s just as likely more issues were moved to other projects and you’d have to repeat the whole task again.

Perhaps if you described the use case or requirements, there might be a different approach

Hello @sunnyape,

Thank you for your reply.
Let me describe my requirements in more detail.

I have/know a Jira issue. For example, I know the ‘issueId’ or the current ‘issueKey’ of this Jira ticket.
I need to get all the ‘issueKeys’ for this particular issue throughout its existence, including all its moves between projects.

For example, if some Jira ticket with ‘issueId’=10022 had ‘TES-1’ key, after that it was moved to another project and became ‘TST-20’, later it was moved again and became ‘NEXT-3’.
Having 'issueId=10022`, I need to get a list of all issue keys for this Jira ticket – i.e. ‘TES-1’, ‘TST-20’, ‘NEXT-3’.

Yes, I can extract this information from the ‘Get changelogs’ API call, but the result of this call may be very large. I am looking for a simpler method because our app needs this information while processing a user request.

Jira Server/DC has an ‘IssueManager’ class with a ‘getAllIssueKeys()’ method that returns exactly what I want, and works fast. It would be good if Jira Cloud also had such a method.

Hello @denis

Ok, so you only need to check the change history of a single issue.

Since you referred to ‘class’, I assume you’re talking about the Jira Server Java API. Given that API doesn’t exist on Jira Cloud, and there is no REST API endpoint that achieves the equivalent outcome as the getAllIssueKeys() method, I personally can’t suggest any ‘simpler method’ to achieve what you are looking for.

Good luck with your search for an answer