I'm trying to import ~1500 tickets from Trac into Jira. Getting the data out of Trac and formatting it into a JSON file is pretty trivial, what I'm expecting to import is:
- All fields and data on tickets (with the exception of a couple of "legacy" fields we never used)
- Comments and field changes ("history")
- Users
- Attachments
I've got a working import for all of that except for some details in the history and will be uploading attachments through the API as I can't see a simple way to do this through the import without making them publicly accessible.
So as I've run into a wall with the history, I'm asking for help.
Is there any complete documentation?
The documentation here: https://support.atlassian.com/jira-cloud-administration/docs/import-data-from-json/ and here: https://confluence.atlassian.com/adminjiraserver/importing-data-from-json-938847609.html does not cover the expected file format in detail, doesn't cover a lot of slightly more obscure areas of the file (e.g. history formatting) and is internally inconsistent, doesn't provide enough information and is out of date with the current state of Jira Cloud.
If it provided detailed logging or even detailed error messages, this would be somewhat mitigated as one could just hack their way to a working file, but there are bugs preventing the logs from being accessed and the error messages displayed in the interface are very unhelpful.
What do you use to identify users in history events?
This ticket: https://jira.atlassian.com/browse/MIG-376 implies that you're supposed to use some internal identifier for users on the cloud platform, otherwise you'll get invalid user references instead. This doesn't match the documentation, which appears to use a username (or maybe a reference to the users in the users section of the file?).
What identifier is supposed to be used here? How do you obtain these identifiers? Are these the "accountId"s returned by the API? What about author / assignee fields, comments, etc. are these supposed to all use the same type of identifier or something different?
How is history data formatted?
Specifically: custom fields and changes to the assignee of the issue. I've found multiple conflicting reports of how custom field changes are supposed to be formatted: is the field type supposed to be "custom" or an actual field type? Neither of which works. Also it appears that assignee changes on a ticket get imported correctly, but I can't tell if the data there is actually correct because, again, there's no documentation.
Is this feature supposed to be Generally Available and is it maintained?
The documentation is both incomplete and out of date, threads like this one and reported bugs seem to be gathering dust. Functionality involved in the import seems to be broken, e.g. user references and importing. (the importer tells you that imported users are inactive, but we still got billed for them) And one of the "solutions" I've found is to spin up an instance of an older version of Jira Server, get the import working there, then migrate that to the cloud. This seems, to me, problematic in the extreme, preparing an import file shouldn't be difficult if it's adequately documented.