JCMA doesn't migrate issue security level permission with unsupported custom fields
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Purpose
The purpose of this document is to provide instructions on how to check and fix unsupported custom fields linked to issue security level permission (for Group custom field value and User custom field value) before migration via Jira Cloud Migration Assistant (JCMA). This document also provides a list of supported custom field keys for JCMA.
Environment
Jira 7.6 and higher
Jira Cloud Migration Assistant version 1.10.5 or higher
Summary
JCMA doesn’t migrate unsupported custom fields linked to issue security level permission for the Group custom field value and User customer field value.
How to check and fix unsupported custom fields before migration
If you haven’t performed your migration, you can do a sanity check beforehand. Let’s take this example where there are two unsupported custom fields.
Go to Settings > Issues > Issue Security Schemes.
Check all the security level permissions of type Group custom field value or User custom field value.
Get the list of all the custom fields used in the permission. In this example, we have 2 custom field names, SecureGroupPicker and SecureMultiUser.
Go to DbConsole, and run the following query using the custom field names identified above.
select customfieldtypekey,cfname from customfield where cfname in ('<custom-field-name>')
- Check if the customfieldtypekey returned by the query is in the list of supported custom field keys mentioned below. If not, the Security Level Permission will not be migrated via JCMA.
How to fix
You can either delete the impacted issue security level permission or use supported custom fields.
Delete the impacted issue security level permission
Go to Settings > Issues > Issue Security Schemes.
Delete the issue security level permission.
Perform the project migration via JCMA.
Recreate the issue security level permission in cloud.
Use supported custom fields in issue security level permission
Go to Settings > Issues > Issue Security Schemes.
Delete the unsupported custom fields for the security level.
In the Actions column, select Add.
Select supported custom fields (see the list below) for User custom field value and Group custom field value.
Perform the project migration via JCMA.
What can be done if you’ve already migrated to cloud
If you’ve already migrated to cloud with the unsupported custom fields, re-create the issue security level permission in cloud.
List of supported custom fields
Jira Core and Jira Software custom fields
"com.atlassian.jira.plugin.system.customfieldtypes:datepicker"
"com.atlassian.jira.plugin.system.customfieldtypes:datetime"
"com.atlassian.jira.plugin.system.customfieldtypes:textfield"
"com.atlassian.jira.plugin.system.customfieldtypes:textarea"
"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"
"com.atlassian.jira.plugin.system.customfieldtypes:labels"
"com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"
"com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons"
"com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker"
"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker"
"com.atlassian.jira.plugin.system.customfieldtypes:float"
"com.atlassian.jira.plugin.system.customfieldtypes:select"
"com.atlassian.jira.plugin.system.customfieldtypes:multiselect"
"com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"
"com.atlassian.jira.plugin.system.customfieldtypes:userpicker"
"com.atlassian.jira.plugin.system.customfieldtypes:url"
"com.atlassian.jira.plugin.system.customfieldtypes:project"
"com.atlassian.jira.plugin.system.customfieldtypes:version"
"com.atlassian.jira.plugin.system.customfieldtypes:multiversion"
"com.pyxis.greenhopper.jira:gh-epic-color"
"com.pyxis.greenhopper.jira:gh-epic-label"
"com.pyxis.greenhopper.jira:gh-epic-link"
"com.pyxis.greenhopper.jira:gh-epic-status"
"com.pyxis.greenhopper.jira:gh-lexo-rank"
"com.pyxis.greenhopper.jira:gh-sprint"
"com.atlassian.jira.toolkit:message"
"com.atlassian.jira.toolkit:viewmessage"
"com.atlassian.jira.toolkit:assigneedomain"
"com.atlassian.jira.toolkit:reporterdomain"
"com.atlassian.jira.toolkit:lastusercommented"
"com.atlassian.jira.toolkit:dayslastcommented"
"com.atlassian.jira.toolkit:LastCommentDate"
"com.atlassian.jira.toolkit:attachments"
Jira Service Management custom fields
com.atlassian.servicedesk.approvals-plugin:sd-approvals
com.atlassian.servicedesk:vp-origin
com.atlassian.servicedesk:sd-request-participants
com.atlassian.servicedesk:sd-customer-organizations
com.atlassian.servicedesk:sd-request-feedback
com.atlassian.servicedesk:sd-request-feedback-date
com.atlassian.servicedesk:sd-sla-field
Advanced Roadmaps custom fields
com.atlassian.jpo:jpo-custom-field-baseline-end
com.atlassian.jpo:jpo-custom-field-baseline-start
com.atlassian.teams:rm-teams-custom-field-team
com.atlassian.jpo:jpo-custom-field-parent