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

Импорт из облачной версии Jira

Документ описывает инструкцию по переносу проекта из облачной версии Jira в TeamStorm.

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

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

  • архив со скриптами импорта
  • URL сервера TeamStorm
  • токен аутентификации пользователя TeamStorm
  • URL сервера Jira
  • Логин (E-mail) пользователя Jira
  • персональный токен доступа пользователя Jira
  • ключ проекта Jira, который необходимо перенести

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

  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 должны совпадать с пользователями Jira для автоматического маппинга.

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

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

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

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

Создание токена Jira

  1. Авторизуйтесь в Jira с выбранной учетной записью.
  2. Создайте и сохраните персональный ключ доступа в профиле пользователя согласно документации Atlassian Manage API tokens for your Atlassian account

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

  1. - URL сервера TeamStorm

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

    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    
  3. - URL сервера Jira

    "https:\\yourdomain.atlassian.net"
    
  4. - персональный токен доступа пользователя Jira

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

    "DEV"
    
  6. --user - логин (E-mail) пользователя Jira

    --user "your@email.com"
    
  7. --type - тип установки Jira

    --type cloud
    

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

Выбор пространства

По умолчанию при импорте для каждого проекта создаётся новое пространство. Этому пространству назначается ключ и название импортируемого проекта Jira.

Для того, чтобы создать пространство с другим ключом и названием, необходимо указать параметры:

--space_name "Название нового пространства"
--space_key "Ключ нового пространства"

Для того, чтобы импортировать проект в существующее пространство необходимо указать параметр:

--space_key "Ключ существующего пространства"

Если в TeamStorm уже существует пространство с указанным ключом проекта, данные будут импортированы в него.

Импорт scrum-доски

Для импорта scrum-доски в проект необходимо указать в параметрах скрипта её название. В пространстве TeamStorm можно импортировать только одну scrum-доску:

--j_board "Название scrum-доски"

Выбор типа оценки

По умолчанию при импорте задачам в пространстве назначаются оба способа оценки - и в часах, и в SP. Если необходимо оставить только оценку в часах нужно указать параметр:

--estimation time

Если необходимо оставить только оценку в SP нужно указать параметр:

--estimation sp

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

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

--update_settings

Импорт задач частями

Для импорта больших объемов задач возможно разбить импорт на несколько частей, указав начальную и конечную позицию в списке задач.

При указании начального индекса будут импортированы все задачи, начиная с указанного индекса:

--startIndex 100

При указании конечного индекса будут импортированы все задачи, до указанного индекса:

--endIndex 500

При указании обоих параметров будут импортированы задачи внутри указанного диапазона.

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

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

    ```shell python3 jira_migration.py --user --type server [дополнительные параметры скрипта]

    Пример вызова скрипта:
    
    ```shell
    python3 jira_migration.py "http://teamstorm.ru"
    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    "http://local-jira.teamstorm.io"
    "EzLCJzaWQkfFFh...feGGHNHPrv"
    "TEMP"
    --user "your@email.com"
    --type cloud
    

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

  4. В случае возникновения ошибок соединения скрипт можно перезапустить c теми же параметрами, продолжится импорт оставшихся задач.

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

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

  1. Проект (перенос ключа, названия проекта и описания)
  2. Типы задач
  3. Статусы и Workflow
  4. Кастомные атрибуты
  5. Пользователи проекта
  6. Роли
  7. Задачи и подзадачи
  8. Scrum-board (беклог и спринты), при наличии
  9. Версии
  10. Компоненты
  11. Поля задач
    • Метки (как кастомное поле)
    • Дата выполнения
    • Приоритет (как кастомное поле)
    • Компоненты (как портфели)
    • Версия исправления (как портфель)
    • Затронутая версия (как тег)
    • Связи задач
    • Кастомные поля (строки, числа, даты, метки, списки, пользователи) и опции
    • Комментарии
    • Вложения
    • Ответственный