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

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

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

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

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

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

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

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

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

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

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

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

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

  1. <teamstorm_url> - URL сервера TeamStorm

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

        "ivan.ivanov"
    
  3. - пароль пользователя TeamStorm

        "EzL...ewQ"
    
  4. <jira_url> - URL сервера Jira

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

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

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

    --user "your@email.com"
    
  8. --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 необходимыми параметрами:

    python3 jira_migration.py <teamstorm_url> <teamstorm_token> <jira_url> <jira_token> <project_key>
    --user <jira_user_login> --type server [дополнительные параметры скрипта]
    

    Пример вызова скрипта:

    python3 jira_migration.py "http://teamstorm.ru" \
    "ivan.ivanov" "EzL...ewQ" \
    "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. Поля задач
    • Метки (как кастомное поле)
    • Дата выполнения
    • Приоритет (как кастомное поле)
    • Компоненты (как портфели)
    • Версия исправления (как портфель)
    • Затронутая версия (как тег)
    • Связи задач
    • Кастомные поля (строки, числа, даты, метки, списки, пользователи) и опции
    • Комментарии
    • Вложения
    • Ответственный