As part of Simplified App Migration, JCMA exports the values of your app's Data Center custom fields during Jira Project migration and imports them already transformed into the shape expected by your Forge custom field type on cloud, so you don't need to migrate them yourself.
To have JCMA export your custom field values, declare a customFieldValues managed export in your cloud app's manifest.yml. Each entry under fields maps a Data Center custom field type key (server.typeKey) to the Forge custom field type module key (cloud.forgeTypeKey) that it should migrate to:
1 2 3 4 5 6 7 8 9modules: migration:managedExports: - key: customFieldValues fields: - server: typeKey: "com.vendor.my-app:my-custom-field-type" cloud: forgeTypeKey: "my-forge-custom-field-type-module-key"
The export shape is derived from the corresponding Forge jira:customFieldType module matching the forgeTypeKey: its type determines how each value is converted, and declaring the field as a list collection produces the list variant of that type. See Onboarding to SAM for the full migration:managedExports configuration.
We support migrating to any Forge Custom Field Type. JCMA uses the type declared on your Forge custom field module to transform each Data Center value into the matching cloud value shape.
Specifically, we take the value returned by your DC App's CustomFieldType.getValueFromIssue implementation, checks if it can be migrated to the destination Forge Custom Field Type, and if so, exports it.
If the value returned by your CustomFieldType class implementation is not supported, it is dropped. See the following table for support.
| Forge Custom Field Type | Supported DC Values | Migration description |
|---|---|---|
string | Any Data Center custom field value | Value is converted to a string. If the DC value was a list, the first value is taken |
number | Numeric Data Center custom field values, which can be cast to a Double | Value is exported as a decimal number. |
date | java.sql.Timestamp custom field values | Value is exported as a calendar date (no time component). |
datetime | java.sql.Timestamp custom field values | Value is exported as an instant (date and time). |
user | Custom Field Values returning com.atlassian.jira.user.ApplicationUser objects (or Lists thereof) | The Data Center user is resolved to the corresponding cloud account id. If the DC value was a list, the first value is taken |
group | Custom Field Values returning com.atlassian.crowd.embedded.api.Group objects (or Lists thereof) | The Data Center group is exported as a group name reference. If the DC value was a list, the first value is taken |
object | Custom Field values which are valid json objects when converted toString | JSON content is exported as an ADF document; non-JSON content falls back to plain text. |
string (list) | Any Data Center custom field value. | Each value is converted to a string and exported as a list. |
user (list) | Same as user types. Converted to a List if not already. | Each Data Center user is resolved to the corresponding cloud account id and exported as a list. |
group (list) | Same as group types. Converted to a List if not already. | Each Data Center group is exported as a group name reference in a list. |
Rate this page: