Импорт из серверной версии Confluence
Документ описывает инструкцию по переносу пространств из серверной версии Confluence в TeamStorm.
Исходные данные
Для переноса пространств из Confluence потребуются следующие данные:
- архив со скриптами импорта
- URL сервера TeamStorm
- токен аутентификации пользователя TeamStorm
- ключ существующего пространства TeamStorm, в который будет выполнен импорт
- URL сервера Confluence
- персональный токен доступа пользователя Confluence
- названия простанств Confluence, которые необходимо перенести
Подготовка запуска
- Установите среду выполнения Python 3.11.
-
Установите следующие модули:
-
Распакуйте архив со скриптами миграции
- Добавьте пользователей в TeamStorm перед запуском импорта. E-mail или отображаемое имя пользователей TeamStorm должны совпадать с пользователями Confluence для автоматического маппинга.
Получение токена аутентификации TeamStorm
Для аутентификации в API TeamStorm необходимо выбрать учетную запись пользователя, у которого есть системные роли "Администратор Core" и "Пользователь TeamStorm".
- Авторизуйтесь в TeamStorm в браузере с выбранной учетной записью.
- Откройте веб-инспектор браузера.
- Откройте любой запрос TeamStorm.
-
Скопируйте из заголовка запроса Authorization токен авторизации (символы без "Bearer").
Создание токена Confluence
- Авторизуйтесь в Confluence с выбранной учетной записью.
- Создайте и сохраните персональный ключ доступа в профиле пользователя согласно документации Atlassian Using Personal Access Tokens
Этапы импорта
Импорт проходит в несколько этапов:
-
Копирование содержимого страниц и их структуры.
На данном этапе создаются аналогичные страницы в TeamStorm, копируются изображения и вложения на страницах, восстанавливается структура страниц.
На этом этапе ссылки на другие страницы сохраняют исходный адрес Confluence.
Для последующего связывания в контент страниц добавляются служебная информация.
-
Исправление ссылок на другие страницы Confluence.
При необходимости заменить исходные ссылки страниц и задач ссылками на аналогичные страницы и задачи в TeamStorm воспользуйтесь инструкцией Замена ссылок на импортированные задачи и страницы.
-
Удаление со страниц служебной информации, необходимой для исправления ссылок и связывания страниц.
В случае, когда необходимо перенести страницы в разные пространства TeamStorm, каждый этап миграции потребуется выполнить для всех пространств отдельно:
- Выполнить этап 1 последовательно для всех импортируемых пространств. На этом шаге потребуется перенести все необходимые пространства в TeamStorm.
- Выполнить этап 2 последовательно для всех пространств. На этом этапе внутренние ссылки в импортированных пространствах будут исправлены.
- Выполнить этап 3 последовательно для всех пространств. На этом этапе служебные временные метаданные на страницах будут удалены. Последующее исправление ссылок и связывание страниц будет невозможно.
Параметры скрипта
-
teamstorm_url
> URL сервера TeamStorm -
teamstorm_token
> токен аутентификации пользователя TeamStorm -
confluence_url
> URL сервера Confluence -
confluence_token
> персональный токен доступа пользователя Confluence -
--type
> тип установки Confluence -
--ts_workspace
> ключ существующего пространства TeamStorm, в который будет выполнен импорт указанных пространств.Примечание
Если параметр не указан для каждого импортируемого пространства Confluence будет создано уникальное пространство в TeamStorm.
-
--spaces
> названия пространств Confluence, которые необходимо перенестиПримечание
Если параметр не указан будут последовательно импортированы все доступные пространства Confluence.
-
Указание выполняемых этапов импорта
Этапы импорта описаны в разделе Этапы импорта
-
--all
запустит этап копирования содеожимого страниц. -
--clean
запустит этап удаления служебной информации. Возможно только после копирования содержимого страниц их структуры. После удаления служебной информации будет невозможно выполнить исправление ссылок и связывание страниц.
Запуск скрипта
- Перейдите в папку со скриптами
-
Выполните команду c необходимыми параметрами
python3 conf_migration.py --all|clean <teamstorm_url> \ <teamstorm_token> \ <confluence_url> \ <confluence_token> \ --type server --ts_workspace "" --spaces [""]
Пример вызова скрипта:
-
Дождитесь выполнения скрипта и проверьте импортированные данные
- В случае возникновения ошибок соединения скрипт можно перезапустить c теми же параметрами, импорт продолжит перенос страниц.
Результат переноса
В результате будет выполнен перенос из указанных пространств Confluence в заданное пространство TeamStorm:
- Страницы и их структура
- Текст, изображения и их форматирование содержимого страниц
- Контент, генерируемый макросами Confluence в нередактируемом виде (текст и изображения)
- Диаграммы draw.io в редактируемом формате
- Ссылки между страницами
- Упоминания пользователей на страницах
- Вложения страниц