---
url: https://next.zammad.org/sr/tutorials/migrate.md
---

# Миграција на Zammad

Можете мигрирати следеће податке из другог тицкетинг система у Zammad:

* Тикете и њихове чланке
* Групе / Редове чекања
* Организације
* Оператере и кориснике (ако је применљиво)

Након миграције на Zammad, прво подесите FQDN и HTTP
протокол у интерфејсу администратора Zammad-а под *Подешавања > Систем > Основно*.
Ово је важно јер се чаробњак за почетак не извршава током
миграције.

Затим можете наставити са [првим корацима](/en/tutorials/first-steps) за
конфигурисање Zammad-а. Ово је неопходно урадити након миграције.

## Општа ограничења

Испод можете пронаћи нека општа ограничења. Могућа су и друга ограничења, у
зависности од система са којег мигрирате. Она су обрађена у посебним
секцијама.

Општа ограничења за све миграције:

* Миграције су могуће само на новим инстанцама.
* Миграције су могуће само са једног извора. Више извора миграције на једној
  инстанци није подржано.
* Zammad не може да мигрира објекте које не препознаје, па ће миграција бити
  неуспешна.
* Zammad мигрира све или ништа. То значи да не можете искључити специфичне
  информације, групе, тикете или кориснике.

::: warning

Режим увоза такође активира режим одржавања, све док је режим увоза
укључен. Zammad тада одбија сваки захтев корисника без дозволе `admin.maintenance`.
Поново искључите режим увоза пре него што корисницима дозволите рад у инстанци.

:::

## Специфична упутства за миграцију

::: info

**Недостаје вам извор за миграцију?**

Ако ваш систем није наведен, имате две опције. Можете или
користити моћан Zammad APIа или послати поруку нашем
[тиму за продају](https://zammad.com/en/company/contact){target=\_blank} ради прилагођеног
развоја или чак спонзорисања извора миграције.

Миграције су доступне и за SaaS инстанце! Контактирајте подршку за више
информација!
:::

### Freshdesk

#### Ограничења

Имајте на уму следећа ограничења специфична за Freshdesk испод. Ово су
додатна ограничења уз опште наведена.

* Диференцијалне миграције нису подржане! Општа препорука је да урадите
  тестно учитавање унапред како бисте сазнали колико ће трајати миграција.
* Важно: Имајте на уму да брзина миграције у великој мери зависи од вашег
  Freshdesk пакета (важе API ограничења учитавања).
* Због API ограничења, Zammad неће приказати укупан број објеката за
  учитавање, већ ће их исправљати у корацима од 100.
* Ваш Freshdesk пакет мора да подржава API. Ово не важи за све доступне
  пакете.
* Лозинке корисника се не мигрирају и корисник ће морати да користи везу за
  ресетовање лозинке на Zammad-овој страни за пријаву.

#### Предуслови

Zammad захтева API приступ због чега ћете морати да [креирате API
кључ](https://support.freshdesk.com/support/solutions/articles/215517-how-to-find-your-api-key){target=\_blank}
за миграцију. Мигратор ће затражити ваш Freshdesk поддомен и API кључ.

::: warning
Уверите се да користите API кључ налога са потпуним администраторским приступом. Коришћење налога
са нижим дозволама може довести до неуспеле миграције.
:::

#### Увоз

Опште говорећи, имате две опције за миграцију података. Ако имате прилично
велику инстанцу са много података, можда ћете размотрити коришћење конзоле
уместо верзије у претраживачу.

:::: tabs

\=== Преко претраживача

Након инсталирања Zammad-а и
[подешавања вашег веб сервера](./webserver-config), отворите
у претраживачу домен (FQDN) вашег Zammad-а и следите чаробњака за миграцију. Можете га пронаћи
на екрану пријаве кликом на линк „Или мигрирајте са другог система”
при дну.

Зависно од броја корисника, тикета и Freshdesk пакета ово може
потрајати.

Да ли добијате поруку „*Прекинуто рестартовањем окидача. Молимо вас да рестартујете ручно
или сачекајте следеће време извршавања.*”?
Ако се ова порука појави након уноса ваших података за пријаву, молимо вас да будете стрпљиви.
Миграција би требало да почне у року од 5 минута.

Ако добијете горе наведену поруку након што је миграција започела, размотрите уместо тога
миграцију путем конзоле и ресетујте инсталацију.

\=== Преко конзоле

Отворите конзолу:

```sh
zammad run rails c
```

Подесите променљиве, замените вредности у `{}` својим:

```ruby
subdomain = '{freshdesk subdomain}.freshdesk.com'
```

```ruby
token = '{freshdesk token}'
```

Ажурирајте Zammad подешавања за Freshdesk миграцију:

```ruby
Setting.set('import_freshdesk_endpoint', "https://#{subdomain}/api/v2")
```

```ruby
Setting.set('import_freshdesk_endpoint_key', token)
```

```ruby
Setting.set('import_backend', 'freshdesk')
```

```ruby
Setting.set('import_mode', true)
```

Проверите своју конфигурацију у тест моду:

```ruby
Sequencer.process('Import::Freshdesk::ConnectionTest')
```

Покрените миграцију:

```ruby
job = ImportJob.create(name: 'Import::Freshdesk')
```

```ruby
AsyncImportJob.perform_later(job)
```

::: tip

Желите ли да видите прогрес миграције?

Користите

```ruby
pp ImportJob.find_by(name: 'Import::Freshdesk')
```

што ће вам приказати тренутно стање посла.

:::
::::

#### Након миграције

Покрените следеће команде:

```ruby
Setting.set('import_mode', false)
```

```ruby
Setting.set('system_init_done', true)
```

```ruby
Rails.cache.clear
```

Пријавите се са корисником чији сте API токен навели. Користите админ имејл
адресу и API токен пружене током миграције за пријаву.

Сви остали корисници ће морати да користе функцију за ресетовање лозинке или
методе пријаве попут LDAP-а или пријаве једним кликом.

### Kayako

Имајте на уму следећа ограничења специфична за Freshdesk испод. Ово су
додатна ограничења уз опште наведена.

* Диференцијалне миграције нису подржане! Општа препорука је да урадите
  тестно учитавање унапред како бисте сазнали колико ће трајати миграција.
* Самостално хостоване инсталације (Kayako Classic) нису подржане.
* Следеће прилагодбе поља карата се игноришу (утиче на "Scale" пакет):
  * Стање тикета
  * Приоритет тикета
  * Прилагођени типови карата
* Важно: Имајте на уму да брзина миграције у великој мери зависи од вашег
  Kayako пакета (важе API ограничења учитавања).
* Ваш Kayako пакет мора да подржава API. Ово не важи за све доступне пакете.
* Лозинке корисника се не мигрирају и корисник ће морати да користи везу за
  ресетовање лозинке на Zammad-овој страни за пријаву.

#### Предуслови

Zammad захтева API приступ због чега ће мигратор затражити ваш Kayako URL,
имејл адресу и лозинку.

::: warning
Уверите се да наведете кориснички налог са пуним администраторским дозволама. Корисници
са мање привилегија ће довести до неуспеле миграције.
:::

#### Увоз

Опште говорећи, имате две опције за миграцију података. Ако имате прилично
велику инстанцу са много података, можда ћете размотрити коришћење конзоле
уместо верзије у претраживачу.

:::: tabs

\=== Преко претраживача

Након инсталирања Zammad-а и
[подешавања вашег веб сервера](./webserver-config), отворите
у претраживачу домен (FQDN) вашег Zammad-а и следите чаробњака за миграцију. Можете га пронаћи
на екрану пријаве кликом на линк „Или мигрирајте са другог система”
при дну.

Зависно од броја корисника, тикета и Kayako пакета ово може потрајати.

Да ли добијате поруку „*Прекинуто рестартовањем окидача. Молимо вас да рестартујете ручно
или сачекајте следеће време извршавања.*”?

Ако се ова порука појави након уноса ваших података за пријаву, молимо вас да будете стрпљиви.
Миграција би требало да почне у року од 5 минута.

Ако добијете горе наведену поруку након што је миграција започела, размотрите уместо тога
миграцију путем конзоле и ресетујте инсталацију.

\=== Преко конзоле

Отворите конзолу:

```sh
zammad run rails c
```

Подесите променљиве, замените вредности у `{}` својим:

```ruby
subdomain = '{kayako subdomain}.kayako.com'
```

```ruby
email = '{kayako admin email address}'
```

```ruby
password = '{kayako admin password}'
```

Ажурирајте Zammad подешавања за Kayako миграцију:

```ruby
Setting.set('import_kayako_endpoint', "https://#{subdomain}/api/v1")
```

```sh
Setting.set('import_kayako_endpoint_username', email)
```

```ruby
Setting.set('import_kayako_endpoint_password', password)
```

```ruby
Setting.set('import_backend', 'kayako')
```

```ruby
Setting.set('import_mode', true)
```

Проверите своју конфигурацију у тест моду:

```ruby
Sequencer.process('Import::Kayako::ConnectionTest')
```

Покрените миграцију:

```ruby
job = ImportJob.create(name: 'Import::Kayako')
```

```ruby
AsyncImportJob.perform_later(job)
```

::: tip

Желите ли да видите прогрес миграције?

Користите

```ruby
pp ImportJob.find_by(name: 'Import::Kayako')
```

што ће вам приказати тренутно стање посла.

:::
::::

#### Након миграције

Покрените следеће команде:

```ruby
Setting.set('import_mode', false)
```

```ruby
Setting.set('system_init_done', true)
```

```ruby
Rails.cache.clear
```

Пријавите се са корисником чије сте пријавне податке навели. Користите админ
имејл адресу и лозинку пружене током миграције за пријаву.

Сви остали корисници ће морати да користе функцију за ресетовање лозинке или
методе пријаве попут LDAP-а или пријаве једним кликом.

### Са OTRS

#### Ограничења

Додатна ограничења уз општа:

* Подржане OTRS верзије су: 3.1 - 6.x
* Миграција лозинки ради само за OTRS >= 3.3 (на старијим инстанцама ће бити
  потребан ресет лозинке унутар Zammad-а)
* Ако планирате да увезете диференцијалну миграцију након главне, не мењајте
  ниједне податке у Zammad-у!
* Увозе се само клијенти карата
* Zammad очекује да ваши OTRS временски жигови буду у UTC формату и неће их
  прилагођавати

#### Предуслови

**Инсталирајте Znuny4OTRS-Repo која одговара вашој OTRS верзији (зависност миграционог додатка за OTRS):**

* [OTRS
  6](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-Repo-6.0.76.opm)
* [OTRS
  5](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-Repo-5.0.56.opm)
* [OTRS
  4](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-Repo-4.0.25.opm)
* [OTRS
  3](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-Repo-3.3.2.opm)

**Инсталирајте миграциони додатак за OTRS који одговара вашој OTRS верзији:**

* [OTRS
  6](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-ZammadMigrator-6.0.7.opm)
* [OTRS
  5](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-ZammadMigrator-5.0.4.opm)
* [OTRS
  4](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-ZammadMigrator-4.1.12.opm)
* [OTRS
  3](https://ftp.zammad.com/otrs-migrator-plugins/Znuny4OTRS-ZammadMigrator-3.0.33.opm)

::: tip
У неким случајевима рестартовање вашег веб сервера може помоћи да решите
интерне грешке сервера.
:::

### Прилагођавање временских ограничења

Ако се ваш увоз заврши временским ограничењем или већ знате да то може бити
проблем, временска ограничења можете прилагодити преко променљивих
окружења. Да бисте то урадили, поставите променљиве окружења
`ZAMMAD_OTRS_IMPORT_READ_TIMEOUT` и `ZAMMAD_OTRS_IMPORT_TOTAL_TIMEOUT` на
веће временско ограничење у секундама. Ако нису постављене, примењују се
подразумеване вредности:

|                                    | Zammad < 7.0 | Zammad ≥ 7.0  |
|------------------------------------|--------------|---------------|
| `ZAMMAD_OTRS_IMPORT_READ_TIMEOUT`  | 120          | 600           |
| `ZAMMAD_OTRS_IMPORT_TOTAL_TIMEOUT` | 360          | 1200          |

#### Увоз

::: tabs

\=== Преко прегледача

Након инсталирања Zammad-а и
[подешавања вашег веб сервера](/en/tutorials/webserver-config), идите на
FQDN свог Zammad-а у прегледачу и пратите чаробњака за миграцију. Можете га наћи
на екрану за пријаву кликом на линк „Or migrate from another system”
при дну.

У зависности од величине ваше OTRS инсталације, ово може потрајати. У том
случају размотрите употребу верзије ове функције за командну линију. Ово важи
и ако наиђете на временска ограничења током миграције.

\=== Преко конзоле

Отворите конзолу:

```ruby
zammad run rails c
```

Поставите променљиве, замените вредности у `{}` својим:

```ruby
Setting.set('import_otrs_endpoint', 'https://{domain}/otrs/public.pl?Action=ZammadMigrator')
```

```ruby
Setting.set('import_otrs_endpoint_key', '{xxx}')
```

```ruby
Setting.set('import_mode', true)
```

Покрените потпуну миграцију:

```ruby
Import::OTRS.start
```

Покрените диференцијалну миграцију (могуће само након завршене претходне потпуне
миграције):

Сви кораци од „Поставите променљиве” +

```ruby
Setting.set('system_init_done', false)
```

```ruby
Import::OTRS.diff_worker
```

:::

#### Након миграције

Покрените следеће команде:

```ruby
Setting.set('import_mode', false)
```

```ruby
Setting.set('system_init_done', true)
```

```ruby
Rails.cache.clear
```

### Zendesk

#### Ограничења

Додатна ограничења уз општа:

* Диференцијалне миграције нису подржане! Општа препорука је да урадите
  тестно учитавање унапред како бисте сазнали колико ће трајати миграција.
* Важно: Имајте на уму да брзина миграције у великој мери зависи од вашег
  Zendesk пакета (примењују се ограничења брзине API-ја).
* Ваш Zendesk пакет мора да пружа подршку за API. Ово можда не важи за све
  доступне пакете.
* Корисничке лозинке се не мигрирају и корисник ће морати да употреби линк
  за поништавање лозинке на страни за пријаву.
* Објекти са ћириличним текстом не могу да се мигрирају. Обавезно их
  преименујте пре почетка миграције.

#### Предуслови

Zammad захтева приступ API-ју, због чега ћете морати да [креирате API
кључ](https://support.zendesk.com/hc/en-us/articles/4408889192858-Generating-a-new-API-token){target=\_blank}
за миграцију. Алат за миграцију ће затражити вашу Zendesk URL адресу, имејл
адресу и API кључ.

::: warning
Уверите се да користите API кључ налога са потпуним администраторским приступом. Коришћење налога
са нижим дозволама може довести до неуспеле миграције.
:::

#### Увоз

Опште говорећи, имате две опције за миграцију података. Ако имате прилично
велику инстанцу са много података, можда ћете размотрити коришћење конзоле
уместо верзије у претраживачу.

:::: tabs

\=== Преко прегледача

Након инсталирања Zammad-а и
[подешавања вашег веб сервера](/en/tutorials/webserver-config), идите на
FQDN свог Zammad-а у прегледачу и пратите чаробњака за миграцију. Можете га наћи
на екрану за пријаву кликом на линк „Or migrate from another system”
при дну.

У зависности од броја корисника, тикета и Zendesk пакета, ово може
потрајати.

\=== Преко конзоле

Отворите конзолу:

```sh
zammad run rails c
```

Поставите променљиве, замените вредности у `{}` својим:

```ruby
subdomain = '{zendesk url}'
```

```ruby
email = '{zendesk admin email address}'
```

```ruby
token = '{zendesk token}'

```

Освежите Zammad подешавања:

```ruby
Setting.set('import_zendesk_endpoint', "https://#{subdomain}/api/v2")
```

```ruby
Setting.set('import_zendesk_endpoint_username', email)
```

```ruby
Setting.set('import_zendesk_endpoint_key', token)
```

```ruby
Setting.set('import_backend', 'zendesk')
```

```ruby
Setting.set('import_mode', true)
```

Проверите своје подешавање пробним покретањем:

```ruby
Sequencer.process('Import::Zendesk::ConnectionTest')
```

Покрените миграцију:

```ruby
job = ImportJob.create(name: 'Import::Zendesk')
```

```ruby
AsyncImportJob.perform_later(job)
```

::: tip

Желите ли да видите прогрес миграције?

Користите

```ruby
pp ImportJob.find_by(name: 'Import::Freshdesk')
```

што ће вам приказати тренутно стање посла.

:::

::::

#### Након миграције

Покрените следеће команде:

```ruby
Setting.set('import_mode', false)
```

```ruby
Setting.set('system_init_done', true)
```

```ruby
Rails.cache.clear
```

Пријавите се са корисником чији сте API токен навели. Користите админ имејл
адресу и API токен пружене током миграције за пријаву.

Сви остали корисници ће морати да користе функцију за ресетовање лозинке или
методе пријаве попут LDAP-а или пријаве једним кликом.
