Перейти к содержанию

Импорт из другого инстанса TeamStorm

Документ описывает инструкцию по копированию пространства из другого инстанса TeamStorm.

Исходные данные

Для копирования пространства из одного инстанса TeamStorm в другой потребуются следующие данные:

  • архив со скриптами импорта
  • URL серверов TeamStorm - исходный и целевой
  • токены аутентификации пользователей в исходном и целевом инстансах
  • ключ пространства в исходном инстансе, которое необходимо скопировать
  • ключ пространства в целевом инстансе, в который будет выполнено копирование

Подготовка запуска

  1. Установите среду выполнения Python 3.11.
  2. Установите следующие модули:

        pip install \
            Markdown==3.4.4
            requests==2.31.0
            jira2markdown==0.3.4
            dataclasses-json==0.5.7
            future==0.18.2
            pytz==2023.3
            jsonpickle==3.0.2
    
  3. Распакуйте архив со скриптами миграции

  4. Добавьте пользователей в TeamStorm в целевом инстансе перед запуском импорта. E-mail или отображаемое имя пользователей TeamStorm должны совпадать для автоматического маппинга.

Получение токена аутентификации TeamStorm

Для аутентификации в API TeamStorm необходимо выбрать учетную запись пользователя, у которого есть системные роли "Администратор Core" и "Пользователь TeamStorm".

  1. Авторизуйтесь в TeamStorm в браузере с выбранной учетной записью.
  2. Откройте веб-инспектор браузера.
  3. Откройте любой запрос TeamStorm.
  4. Скопируйте из заголовка запроса Authorization токен авторизации (символы без "Bearer").

    Получение токена аутентификации TeamStorm

Основные параметры скрипта

  1. - URL исходного сервера TeamStorm

    "https:\\source.teamstorm.io"
    
  2. - токен аутентификации пользователя TeamStorm в исходном инстансе

    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    
  3. - ключ пространства TeamStorm, который необходимо скопировать

    "SOURCE"
    
  4. - URL целевого сервера TeamStorm

    "https:\\target.teamstorm.io"
    
  5. - токен аутентификации пользователя TeamStorm в целевом инстансе

    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    
  6. - ключ пространства TeamStorm в целевом инстансе, в который необходимо скопировать

    "TARGET"
    

Дополнительные параметры скрипта

Копирование нескольких пространств в одно пространство

По умолчанию при импорте в существующее пространство или при повторном импорте существующие настройки (созданные в пространстве типы, атрибуты, процессы) не обновляются. Для того, чтобы обновить настройки укажите параметр:

--update_settings

Запуск скрипта

  1. Перейдите в папку со скриптами
  2. Выполните команду c необходимыми параметрами

    ```shell python3 copy_space.py

    Пример вызова скрипта:
    
    ```shell
    python3 copy_space.py "http://source.teamstorm.ru"
    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    "SOURCE"
    "http://target.teamstorm.ru"
    "EzLCJzaWQiOiJh...vwmAVsK0ewQ"
    "TARGET"
    

  3. Дождитесь выполнения скрипта и проверьте импортированные данные

Результат переноса

В результате будет выполнено копирование пространства:

  1. Настройки пространства (типы, процессы, атрибуты)
  2. Структура папок
  3. Задачи и их иерархия
  4. Описание и атрибуты задач
  5. Ответственные
  6. Связи задач
  7. Вложения
  8. Расширения Портфель - элементы портфеля
  9. Расширения Agile - бэклог и спринты (без настроек команд)