The Jira Cloud Migration Assistant tool (JCMA) will only migrate some types of custom fields. The custom fields that it cannot migrate must be recreated on the Cloud side, or otherwise mitigated in some way.
I wrote a small tool that proactively identifies any custom field in a Jira instance that JCMA will not be able to migrate.
It’s important to be proactive, especially when it comes to migrations. Every unexpected error or issue results in lost time, and a delayed migration.
Here’s the code:
import com.atlassian.jira.component.ComponentAccessor
def migrateableFieldTypes = [
"datepicker",
"datetime",
"textfield",
"textarea",
"grouppicker",
"labels",
"multicheckboxes",
"radiobuttons",
"multigrouppicker",
"multiuserpicker",
"float",
"select",
"multiselect",
"cascadingselect",
"userpicker",
"url",
"project",
"version",
"multiversion"
]
def sb = []
def customFields = ComponentAccessor.getCustomFieldManager().getCustomFieldObjects()
//Get all of the custom fields in the system
customFields.each{ customField ->
//For each custom field
if(!migrateableFieldTypes.contains(customField.properties.genericValue.customfieldtypekey.split(":")[1])){
//If the custom field type does not match one of the items in the array of migrateable field types
sb.add(customField.getFieldName() + " | " + customField.properties.genericValue.customfieldtypekey.split(":")[1] + "<br>")
//Note that custom field
}
}
return sb.toString().replace(",", "")
Leave a Reply