Migration from OTRS¶
Limitations¶
Please note below OTRS specific limitations. These are additional limitations to the general ones listed.
Password migration works for OTRS >= 3.3 only (on older instances, a password reset within Zammad will be required)
If you plan to import a differential migration after, do not change any data in Zammad!
Only customers of tickets are imported
Zammad expects your OTRS timestamps to be UTC and won’t adjust them
If you plan to import a differential after, do not change any data in Zammad!
Note
Supported OTRS versions: 3.1 up to 6.x
Prerequisites¶
Step 1: Install Znuny4OTRS-Repo¶
This is a dependency of the OTRS migration plugin. Add the repository that matches your OTRS version:
Step 2: Install OTRS Migration Plugin¶
Install the version that matches your OTRS version:
Hint
In some cases restarting your webserver may help to solve internal server errors.
Timeout Adjustments¶
If your import runs in a timeout or you already know that this could be an
issue, you can adjust timeouts via environment variables. To do so, set the
environment variables ZAMMAD_OTRS_IMPORT_READ_TIMEOUT and
ZAMMAD_OTRS_IMPORT_TOTAL_TIMEOUT to a higher timeout in seconds. If unset,
the defaults apply:
Zammad < 7.0 |
Zammad ≥ 7.0 |
|
|---|---|---|
|
120 |
600 |
|
360 |
1200 |
Importing OTRS Data¶
Note
If your OTRS installation is rather huge, you might want to consider using the command line version of this feature. This also applies if you experience timeouts during the migration or if you want to re-import again.
After installing Zammad and configuring your webserver, navigate to your Zammad’s FQDN in your Browser and follow the migration wizard.
Depending on the size of your OTRS installation this may take a while. You can get an idea of this process in the migrator video on vimeo .
- Open a console
Package installation:
$ zammad run rails c
Source installation:
$ rails c
Learn more about the Zammad console.
- Set import mode
Stop all internal Zammad processes and set Zammad to import mode (no events are fired, e.g. notifications, sending emails, etc.).
>> Setting.set('import_mode', true)
- Start the migration
Ensure to replace the values in
{}brackets with your values.>> Setting.set('import_otrs_endpoint', 'https://{your instance}/otrs/public.pl?Action=ZammadMigrator')
>> Setting.set('import_otrs_endpoint_key', '{xxx}')
>> Import::OTRS.start
- After import
After the import has finished, run the following commands:
>> Setting.set('import_mode', false)
>> Setting.set('system_init_done', true)
>> Rails.cache.clear
After successfully migrating your OTRS installation, continue with First Steps.
Importing a Differential¶
Note
This is only possible after finishing an earlier OTRS import successfully.
In some cases it might be desirable to update the already imported data from OTRS. This is possible with the following commands.
- Run a differential import
Ensure to replace the values in
{}brackets with your values.>> Setting.set('import_otrs_endpoint', 'http://{your instance}/otrs/public.pl?Action=ZammadMigrator')
>> Setting.set('import_otrs_endpoint_key', '{xxx}')
>> Setting.set('import_mode', true)
>> Setting.set('system_init_done', false)
>> Import::OTRS.diff_worker
- After import
After the import has finished, run the following commands:
>> Setting.set('import_mode', false)
>> Setting.set('system_init_done', true)
>> Rails.cache.clear
All changes that occurred after your first migration should now also be available within your Zammad installation.
Restarting From Scratch¶
Turned wrong at some point? You can find the required commands to reset Zammad in our dangerzone.