I am putting together a process for removing customfields from my JIRA environment in a safe, structured, and repeatable manner.
The process needs to:
- avoid unintentional impact on users
- include a cool-down period (e.g. the fields are not deleted; however, they are hidden, disallowing any new data from being stored against the field) and later, removed
- include a backup of the customfield configuration data
- include a backup of the customfield ticket data
So far, to facilitate the hiding of the customfields, I have been removing in-scope fields from screens however, I'm not sure if that covers it entirely.
In regards to detaching a customfield from configuration data ahead of deletion, the configuration items I have in-scope are:
Are there others I am missing that I should be checking?
Last but not least, I need this process to not be so cumbersome that I die of old age before I complete it.
Before someone mentions it, JQL CSV export doesn't support archived projects. It is consequently unhelpful unless I was to unarchive approximately 3000 projects bringing everything into the main index and lighting our instance on fire.
My process currently:
- Analyse
- through the customfields page in JIRA, mainly leveraging the last updated and issue count functions
- Hide
- through removing customfields from screens
- Notify
- announce to our userbase that customfields will be removed from X date in the future
- Backup
- export customfield data and store indefinitely externally for reference only. We are not intending on supporting a recovery scenario here
- Remove
- Rinse and repeat 800 times
Any suggestions on how I can go about this or tips on making this process painless would be greatly appreciated.
I have database queries for filter and workflow usage.