Hello,
we are migrating Jira Software Projects from one Jira Instance to another. Both of them are Data Center and on the same version. We are using Project Configurator for Jira app for that (https://marketplace.atlassian.com/apps/1211147/project-configurator-for-jira).
The problem is that there are many old issues assigned to inactive users who do not exists in the target environment. The project configurator is not able to create these issues because of that.
The optimal solution for us would be, that we could set this assigment to some default user during the import. I would like to avoid reassigning the Issues in the source environment.
Do you have a hint for us how it could be easily set during the import?
You can't do such a mapping "during", per se, but you can modify the backup.
BACKUP.zip
-- config.xml
-- data/data.zip
-- activeobjects.xml
-- entities.xml
Entities is essentially a one level XML containing the data from the db, more or less. So for example, if you wanted to modify the reporter, you would find something like this:
<Issue id="11111" summary="xxx" ... reporter="JIRAUSER12345" assignee="JIRAUSER66666" />
In which case, you could simply modify the user key value to your replacement user.
When it comes to issue history, you would find that in similar format like this:
<ChangeItem id="12345" field="assignee" fieldtype="jira" oldvalue="JIRAUSER12345" newvalue="JIRAUSER66666" />"
<ChangeItem id="23456" field="reporter" fieldtype="jira" oldvalue="JIRAUSER12345" newvalue="JIRAUSER66666" />
So strictly speaking, if you were to modify these 2 "tables", provided that the replacement userkey exists in the <User ..> table (key to username map), then Jira should be able to follow through with it.
If the replacement user does not exist in the User table (i.e. not on source instance), I would argue it would be better to just modify the old user and "change" them to be the new replacement. There are tables such as these, which contain the username/userkey/displayname etc.:
<ApplicationUser .. />
and
<User .. />
To change your old user to the replacement one. Jira will create new users with different userkey, and the userkeys will never match across instances, it definitely only maps them by username, so key is irrelevant to you to change. It will map the users on the destination by username. Project Configurator being project configurator, you also would either want to change the email and display name for the users, so they don't get overwritten for the real replacement user; or, disable the change of those attributes during preview.
If you have any user-picker custom fields, those are stored in entries such as this:
<CustomFieldValue id="12345" customfield="11111" stringvalue="xx" .. />
Watchers are like this:
<UserAssociation associationType="WatchIssue" .. sourceName="JIRAUSER55555"/>
Commenters are like this:
<Action type="comment" .. author="userkey or username, not sure?" updateauthor="could also be either username or userkey">
So overall, it might be a few more tables to look at, but if you can filter it out, do some greps, for both the username and userkey, to find where the users can be referenced, it's doable.
Edit:
Added a few more tables that came to mind where users can be referenced.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.