Content
View differences
Updated by Andrej Sandorf about 1 month ago
**As** an admin migrating from Jira to OpenProject
**I want to** migrate custom fields of my Jira Issues to custom fields in OpenProject
**so that** I have a more complete work package description
**Acceptance criteria**
* Custom fields for custom field types OpenProject has a corresponding field type are migrated
* Support fields are (Jira UI type names):
* Text Field (single line)
* Text Field (multi-line)
* Date Picker
* Checkboxes
_as a multi-select list or single boolean custom field_
* Radio Buttons
_as a single select list_
* URL Field
* Number Field
* Select List (single choice)
* Select List (multiple choice)
* Select List (cascading)
* User Picker (single user)
_project members only_
* User Picker (multiple users)
_project members only_
* For Jira custom fields with "Field context" (different content per projects/issuetypes), multiple custom fields will be created
**Technical notes and limitations**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Jira field type</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Jira CF schema</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">OP target</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Notes</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Text Field (single line)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:textfield"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">string</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Date Picker</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "date"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:datepicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">date</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Checkboxes</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">bool</code>/<code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73933" data-type="work_package" data-text="#73933">#73933</mention> <br>- if there is only one entry, <br> one dedicated boolean custom field is created<br>- if there are multiple entries, <br> a multiselect list field is created<br>- checkbox list entries can be "disabled" in Jira,<br>OP does not support this</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Radio Buttons</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73956" data-type="work_package" data-text="#73956">#73956</mention> <br>- imported as a single select list</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">URL Field</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:url"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">link</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Text Field (multi-line)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:textarea"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">longtext</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73944" data-type="work_package" data-text="#73944">#73944</mention> <br>- Text is converted into Markdown as Wiki markup, <br>which may result in unexpected formatting.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Number Field</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "number"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:float"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">float</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (single choice)</p><p class="op-uc-p">Select List (multiple choice)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:select"</code>,</p><p class="op-uc-p">and</p><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- If a "Field context" is used on Jira side for <br>different list options per project and issue type, <br>multiple OP custom fields are created<br>As these contexts are not available via the API <br>their names cannot be used, the field names are<br>suffixed with <code class="op-uc-code">(project_identifier)</code><br>- List entries can be "disabled" in Jira, <br>OP does not support this</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (cascading)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option-with-child"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">hierarchy</code> (Enterprise)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">- If a "Field context" is used on Jira side for <br>different list options per project and issue type, <br>multiple OP custom fields are created<br>As these contexts are not available via the API <br>their names cannot be used, the field names are<br>suffixed with <code class="op-uc-code">(project_identifier)</code></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (cascading)<br>on Community Edition</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option-with-child"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">the tree elements are collapsed into each one element<br>e.g. "Animals", "Animals - Cat", "Animals - Dog"</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">User Picker (single user)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "user"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">user</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- OP requires users in the select to be members of the project<br>to not change visibility, non-member users are left out</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-bottom:1px solid rgba(9, 30, 66, 0.14);padding:7px 10px;vertical-align:top;"><p class="op-uc-p">User Picker (multiple users)</p></td><td class="op-uc-table--cell" style="border-bottom:1px solid rgba(9, 30, 66, 0.14);padding:7px 10px;vertical-align:top;"><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "user"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">user</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- OP requires users in the select to be members of the project<br>to not change visibility, non-member users are left out</p></td></tr></tbody></table></figure><br>
<br>
**I want to** migrate custom fields of my Jira Issues to custom fields in OpenProject
**so that** I have a more complete work package description
**Acceptance criteria**
* Custom fields for custom field types OpenProject has a corresponding field type are migrated
* Support fields are (Jira UI type names):
* Text Field (single line)
* Text Field (multi-line)
* Date Picker
* Checkboxes
_as a multi-select list or single boolean custom field_
* Radio Buttons
_as a single select list_
* URL Field
* Number Field
* Select List (single choice)
* Select List (multiple choice)
* Select List (cascading)
* User Picker (single user)
_project members only_
* User Picker (multiple users)
_project members only_
* For Jira custom fields with "Field context" (different content per projects/issuetypes), multiple custom fields will be created
**Technical notes and limitations**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Jira field type</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Jira CF schema</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">OP target</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Notes</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Text Field (single line)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:textfield"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">string</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Date Picker</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "date"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:datepicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">date</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Checkboxes</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">bool</code>/<code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73933" data-type="work_package" data-text="#73933">#73933</mention> <br>- if there is only one entry, <br> one dedicated boolean custom field is created<br>- if there are multiple entries, <br> a multiselect list field is created<br>- checkbox list entries can be "disabled" in Jira,<br>OP does not support this</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Radio Buttons</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73956" data-type="work_package" data-text="#73956">#73956</mention> <br>- imported as a single select list</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">URL Field</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:url"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">link</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Text Field (multi-line)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "string"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:textarea"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">longtext</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><mention class="mention" data-id="73944" data-type="work_package" data-text="#73944">#73944</mention> <br>- Text is converted into Markdown as Wiki markup, <br>which may result in unexpected formatting.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Number Field</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "number"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:float"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">float</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (single choice)</p><p class="op-uc-p">Select List (multiple choice)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:select"</code>,</p><p class="op-uc-p">and</p><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "option"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- If a "Field context" is used on Jira side for <br>different list options per project and issue type, <br>multiple OP custom fields are created<br>As these contexts are not available via the API <br>their names cannot be used, the field names are<br>suffixed with <code class="op-uc-code">(project_identifier)</code><br>- List entries can be "disabled" in Jira, <br>OP does not support this</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (cascading)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option-with-child"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">hierarchy</code> (Enterprise)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">- If a "Field context" is used on Jira side for <br>different list options per project and issue type, <br>multiple OP custom fields are created<br>As these contexts are not available via the API <br>their names cannot be used, the field names are<br>suffixed with <code class="op-uc-code">(project_identifier)</code></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Select List (cascading)<br>on Community Edition</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "option-with-child"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">list</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">the tree elements are collapsed into each one element<br>e.g. "Animals", "Animals - Cat", "Animals - Dog"</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">User Picker (single user)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">"type": "user"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:userpicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">user</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- OP requires users in the select to be members of the project<br>to not change visibility, non-member users are left out</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-bottom:1px solid rgba(9, 30, 66, 0.14);padding:7px 10px;vertical-align:top;"><p class="op-uc-p">User Picker (multiple users)</p></td><td class="op-uc-table--cell" style="border-bottom:1px solid rgba(9, 30, 66, 0.14);padding:7px 10px;vertical-align:top;"><p class="op-uc-p"><code class="op-uc-code">"type": "array"</code><br><code class="op-uc-code">"items": "user"</code><br><code class="op-uc-code">"custom": "com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><code class="op-uc-code">user</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">- OP requires users in the select to be members of the project<br>to not change visibility, non-member users are left out</p></td></tr></tbody></table></figure><br>
<br>