Импорт из облачной версии Confluence
Документ описывает инструкцию по переносу пространств из облачной версии Confluence в TeamStorm.
Исходные данные
Для переноса пространств из Confluence потребуются следующие данные:
- архив со скриптами импорта
- URL сервера TeamStorm
- токен аутентификации пользователя TeamStorm
- ключ существующего пространства TeamStorm, в который будет выполнен импорт
- URL сервера Confluence
- Логин (E-mail) пользователя 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.
-
Удаление со страниц служебной информации, необходимой для исправления ссылок и связывания страниц.
В случае, когда необходимо перенести страницы в разные пространства TeamStorm, каждый этап миграции потребуется выполнить для всех пространств отдельно:
- Выполнить этап 1 последовательно для всех импортируемых пространств. На этом шаге потребуется перенести все необходимые пространства в TeamStorm.
- Выполнить этап 2 последовательно для всех пространств. На этом этапе внутренние ссылки в импортированных пространствах будут исправлены.
- Выполнить этап 3 последовательно для всех пространств. На этом этапе служебные временные метаданные на страницах будут удалены. Последующее исправление ссылок и связывание страниц будет невозможно.
Параметры скрипта
-
<teamstorm_url>
- URL сервера TeamStorm -
<teamstorm_token>
- токен аутентификации пользователя TeamStorm -
<teamstorm_space_key>
- ключ существующего пространства TeamStorm, в который будет выполнен импорт -
<confluence_url>
- URL сервера Confluence -
<confluence_token>
- персональный токен доступа пользователя Confluence -
--type
- тип установки Confluence -
--user
- логин (E-mail) пользователя Confluence -
--spaces
- названия пространств Confluence, которые необходимо перенести -
Указание выполняемых этапов импорта
Этапы импорта описаны в разделе Этапы импорта
-
--all
запустит последовательно этапы копирования содеожимого страниц и исправления ссылок. -
--pages
запустит только этап копирования содержимого страниц и их структуры. -
--links
запустит только этап исправления ссылок. Возможно только после копирования содержимого страниц и их структуры. -
--clean
запустит этап удаления служебной информации. Возможно только после копирования содержимого страниц и их структуры. После удаления служебной информации будет невозможно выполнить исправление ссылок и связывание страниц.
Запуск скрипта
- Перейдите в папку со скриптами
-
Выполните команду c необходимыми параметрами
python3 conf_migration.py --all|pages|links|clean <teamstorm_url> \ <teamstorm_token> <teamstorm_space_key> \ <confluence_url> <confluence_token> --type server \ --user <login> --spaces [""]
Пример вызова скрипта:
-
Дождитесь выполнения скрипта и проверьте импортированные данные
- В случае возникновения ошибок соединения скрипт можно перезапустить c теми же параметрами, импорт продолжит перенос страниц.
Результат переноса
В результате будет выполнен перенос из указанных пространств Confluence в заданное пространство TeamStorm:
- Страницы и их структура
- Текст, изображения и их форматирование содержимого страниц
- Контент, генерируемый макросами Confluence в нередактируемом виде (текст и изображения)
- Диаграммы draw.io в редактируемом формате
- Ссылки между страницами
- Упоминания пользователей на страницах
- Вложения страниц