Hi there! I'm the administrator of a Jira Cloud environment that was migrated from Server to Cloud a couple of years ago, and existed for a few years before that.
There is a lot of custom field sprawl (1,111 fields) that our Site Optimiser has found are unused - I reckon I can "clean out" about half of these as they're either duplicates, unused, or even just outright misspellings of fields that got replaced with the correct spelling rather than being renamed. This cleanup will help a lot in my quest to standardise schemes across the site. However, there is a data retention policy of 6 years in my company, and so I need to find a way to satisfy both that and the desire for a spring cleaning. A backup of the site has been done, but unfortunately won't suffice - the data needs to be searchable/accessible within Jira.
There are 4 pages of active projects on the site, and 3 pages of archived projects - I presume most of the fields identified by the Optimiser as "Never used" are legacy fields that were used by these projects pre-migration, and my searching for "Custom Field X" is not Empty won't identify tickets in archived projects.
My current plan of action is to unarchive one project at a time, use Scriptrunner to pull every field on all of that project's tickets that has a value, and append that information in plaintext into the description of the ticket. (Or a "Legacy Data" paragraph custom field)
I have a bad feeling that doing this en-masse will cause issues like mass-alerts (and so I planned to change these projects to an Archived notification scheme whilst I did this) or rate limiting. I've got my fingers crossed that there is a better way but would appreciate hearing about how anyone else has accomplished a cleanup like this while retaining the data.