This is a summary of what is and isn't included in the project import/export feature for JIRA 4.0
Note. Some element's inclusion/exclusion may change during the development process.
Included
- Project - Name, Key, URL, Lead, Description, Default Assignee
- Versions - Name, Description, Release Date (order)
- Component - Name, Description, Lead, Default Assignee
- Roles - names and membership information
- Issues - Including system and custom field values
- Comments
- Worklogs
- Issue Links - including links to other projects where they exist.
- Change History - the history of changes to each issue
- Attachments - optional

Importing fields will check that those same custom fields exist when restoring project data, and that the custom field versions are identical.
If a custom field plugin is missing, then a warning will be shown, but the import can continue by ignoring that data.
Third party custom fields written against JIRA v3.12 will need to be updated in order to support project import.
(The old custom field will be compatible with other JIRA functions, but will induce a warning on the Project Import that the data will be ignored.)
- Users - ie full names and emails
- Users which are referred to in the imported project, but don't currently exist in the target JIRA, will be imported when possible.
- External user management in the source JIRA may mean that not enough information is known to add these users.
- External user management in the target JIRA will obviously mean that it is the external users management system that requires the new users. JIRA will be able to supply an XML export of required users.
- Users which are referred to in the imported project, but don't currently exist in the target JIRA, will be imported when possible.
Excluded
- Groups - including group names and membership information
- Workflow - users will need to manually ensure the exact same workflow exists on the remote system, if needed. The statuses will be mapped to the workflow that exists on the remote system (existing XML workflow export/import should work here)
- Custom Field Configuration - Field contexts (which project/issue types field applies to), options, values and defaults
- Project Categories - Need to re-connect categories on the remote server
- Project "Connections" - Screens, permission / notification / issue type / issue level security / workflow / screen / field configuration schemes, field configurations, CVS/SVN/P4 repository details
When importing, a user will need to re-connect a project to new schemes and related entities.
| The restore will only allow to restore the project into the exact same JIRA version. If one needs to restore into a newer instance of JIRA, they will need to setup a test instance of JIRA which matches the version of the exported data, import project data there, upgrade the test instance to desired version, do another project export, and import the new exported data into the live instance. This is exactly how Confluence's Space Import/Export works at the moment. |

14 Comments
Hide/Show CommentsOct 10, 2007
Michal
Hi!
The problem we met when we added new projects to existing JIRA instance is that we need to implement some new functionality, including customized workflow, screens and custom fields. The new configuration should be tested before promoting to existing, production JIRA instance. The solution for this problem can be the functionality of cloning existing configuration (it can be done now), but lets say all the issues, only configuration, made changes, tests, fixes, until every tests success, and then backporting only added configuration. If we assume there was no changes in configuration since 'clone' operation, the newly added configuration should be easy to merge with original one.
Approach described in preliminary plan is only the issue-side import/export solution, which does not solve above problem at all and look rather minimalistic. It is easier to duplicate user form-entries and overwrite original timestamps to restore all the project history than import/export the structure of the data.
There is a long time we waited for import/export project solution but it looks like you are a little scared of difficult work which have to be done with it. Sorry for the rough words, you did a great job, but we expecting to continuous it!
Regards
Oct 11, 2007
Stefan Kleineikenscheidt
I stronly second Michal's view on this issue. At the moment we have started working on a solution for importing/exporting (a plugin) configuration internally. What we do is:
Issues we came across:
Please let me know, what you think about that approach and whether it would suit your needs.
Btw: I am currently talking to senior management about opensourcing this plugin. If you would be interested, please email me (stefan dot kleineikenscheidt at de dot bosch dot com).
Oct 11, 2007
Eugene Gavrilov
We are using Jelly scripts for configuration migration in some cases.
It can be the way to export/import configuration with some manual modifications if required.
Proposal scenario:
So it's not a truly import/export, but would be helpful and all possible schema conflicts goes to administrator that performs the script execution.
Jan 10, 2008
Michal
Eugene
Is there any option to export configuration into Jelly Scripts?
Jun 15, 2010
Hui Zhou
Hi, Eugene Gavrilov:
How did you export the configuration to Jelly script in JIRA?
Jan 10, 2008
Michal
Hi!
Once again I'm back to this thread. What is the goal are you, Atlassian Guys trying to achieve by this proposed functionality? I can't imagine for what it will be useful. Are you going to move project between two identical instances of JIRA?
Stefan, have you developed or know some usable piece of code to maintain test to live production environment migration?
Regards
Jan 10, 2008
Stefan Kleineikenscheidt
Michal, we are still working on this plugin. Also, we still need to get the approval of our senior management to opensource the plugin.
I will let you know, when we are ready to release something.
-Stefan
Jan 16, 2008
Anton Mazkovoi
Hi Michal,
The goal we are trying to accomplish is not moving test configuration to production environments. The goals are:
Accomplishing the above tasks often involves developing custom tools such as the ones described in our documentation:
Merging 2 JIRA instances
To do this you will need a developer.
We are hoping that after the functionality described in this document is added, these goals can be accomplished without having to develop custom tools. While setting up the required configuration in the system where the project will be restored could still take time, it can be accomplished by administrators without involving developers.
Cheers,
Anton
Jan 17, 2008
Owen Carter
I need to add my $0.02 here, preserving the change history is critical I honestly do not think you should be considering omitting it. Even if you have to drop or reformat some of the data (usernames for instance, I appreciate they are not being exported, but you could just leave the plain-text username in there). The ability to know who changed the issue, and when they did it, is critical for any organisation that might have to account for their decisions. Imagine if we were unable to tell our customers whether it was them or us who changed the priority of a security issue from 'Blocker' to 'Minor' when they query why we failed to fix it.
Jan 22, 2008
Anton Mazkovoi
Hi Owen,
I see what you mean. We definitely realise that change history is important.
At the moment we are trying to do our best to preserve it. However, as we have only started to work on this feature we are not sure about what roadblocks we are going to hit. We will do our best to work through them.
Cheers,
Anton
Mar 27, 2008
Joel D. Tecson
Hi Owen,
Our company currently evaluating JIRA 3.11 Enterprise Edition, we were using MS SQL Server as a backend for the application. As of now Im creating a tools and query to migrate individual project together with the comments, attachments, worklogs, issue links etc... since we were planning to move to production soon.The problem I encounter right now is the History. I cant figure out where the application store the data in history, please help me.
Thanks,
Joel
Mar 27, 2008
Anton Mazkovoi
Hi Joel,
For more information on how Change History is stored please see: http://confluence.atlassian.com/display/JIRA/Database+Schema#DatabaseSchema-ChangeHistory
Cheers,
Anton
Jun 18, 2008
Mark Lassau
Good news - the Change History will now be included.
I have updated the page to reflect the current design. The other significant inclusions are automatic import of required users, and adding Project roles with membership.
Nov 18, 2008
Mika Mustalahti
Would it be possible to have an option for replacing an issue with an imported one? Issue updating is a problem now. As far as I know it is impossible in present version to have your issues updated from an external source.
Better import options or a possibility to hide some issue fields from a specific user/usergroup would be good. Then we would be able to bring our clients (product owners) to Jira
edit: For example it could be checked in the import if the issue-key of imported issue already exists and existing issues would be updated (or the user would be asked if he or she wants to update rather than create new issues). If the issue-key is not already in use, then a new issue is created.