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

Импорт из YouTrack

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

  • архив со скриптами импорта
  • URL сервера TeamStorm
  • логин и пароль пользователя TeamStorm с ролью Системный администратор, Бизнес-администратор или Пользователь
  • URL сервера Youtrack
  • персональный токен доступа пользователя Youtrack с доступом на просмотр и редактирование импортируемого контента
  • название проекта Youtrack, который необходимо перенести

Подготовка к импорту

  1. Распакуйте архив со скриптами миграции.
  2. Добавьте пользователей в TeamStorm перед запуском импорта.

Важно

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

Запустить скрипт импорта можно двумя способами:

  • Внутри контейнера Docker
  • Локально в среде выполнения Python

Для локального запуска скрипта необходимо установить среду выполнения Python 3.11.

Запуск импорта в Docker

В папке с распакованными скриптами рядом с файлом docker-compose.youtrack.yml создайте файл .env_youtrack и укажите в нем переменные окружения.

Обязательные переменные окружения

  • TS_URL — URL сервера TeamStorm.
  • TS_LOGIN — логин пользователя TeamStorm.
  • TS_PASSWORD — пароль пользователя TeamStorm.
  • YOUTRACK_URL — URL сервера YouTrack.
  • YOUTRACK_TOKEN — персональный токен доступа пользователя Youtrack.
  • PROJECT_NAME — название проекта Youtrack, который необходимо перенести.

Обязательные переменные окружения

  • TS_WORKSPACE — название и ключ проекта TeamStorm, в который будет выполнен импорт. Значение указывается в формате <название>;<ключ>, например: TeamStorm;TS.
  • UPDATE_SETTINGS — обновление существующих настроек пространства.
    По умолчанию: False — при импорте проекта в существующее пространство или при повторном импорте настройки пространства (типы, атрибуты, процессы) не обновляются.
  • UPDATE_TASKS — обновление задач при повторном импорте.
    По умолчанию: False — при повторном импорте данные задач не обновляются.
  • IMPORT_WIKI — импорт содержимого вики-страниц.
    По умолчанию: False — вики-содержимое не импортируется.
  • SKIP_SYSTEM_ROLES — не выдавать пользователям системные роли.
    По умолчанию: False — импортированным пользователям не выдаются системные роли. При этом доступные лицензии могут быть исчерпаны при назначении большого количества системных ролей. Возможно назначение задач пользователям без предоставления им лицензий.

Пример файла .env_youtrack

TS_URL="teamstorm.yourdomain.ru"
TS_LOGIN="admin"
TS_PASSWORD="123456"
YOUTRACK_URL="youtrack.yourdomain.ru"
YOUTRACK_TOKEN="perm:cm9vdA==.dG9rZW4=.rNZ38ije7uiWwnUTRDdyFDdUkoPUPi"
PROJECT_NAME="TeamStorm"
TS_WORKSPACE="TeamStorm;TS"
UPDATE_SETTINGS=False
UPDATE_TASKS=False
IMPORT_WIKI=False
SKIP_SYSTEM_ROLES=True

Запустите скрипт импорта

docker-compose -f docker-compose.youtrack.yml up --build

Запуск импорта локально

  1. Установите среду выполнения Python 3.11.
  2. Перейдите в папку с распакованными скриптами.
  3. Установите необходимые для запуска скрипта зависимости.
    pip install --no-cache-dir -r requirements.txt
    
  4. Создайте переменную окружения PYTHONPATH.
    export PYTHONPATH=$(pwd)
    
  5. Запустите скрипт импорта с необходимыми параметрами.

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

python youtrack_import/youtrack_migration.py \
    "teamstorm.yourdomain.ru" "admin" "123456" \
    "youtrack.yourdomain.ru" "perm:cm9vdA==.dG9rZW4=.rNZ38ije7uiWwnUTRDdyFDdUkoPUPi" "My Project"

Обязательные параметры скрипта

Обязательные параметры являются позиционными и должны указываться в следующем порядке:

  • <URL сервера TeamStorm>
  • <логин пользователя TeamStorm>
  • <пароль пользователя TeamStorm>
  • <URL сервера YouTrack>
  • <персональный токен доступа пользователя Youtrack>
  • <название проекта Youtrack, который необходимо перенести>

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

Дополнительные параметры не являются обязательными для запуска скрипта. Указываются в формате --ключ="значение"

  • --ts_workspace — название и ключ проекта TeamStorm, в который будет выполнен импорт. Значение указывается в формате <название>;<ключ>, например:
    --ts_workspace="TeamStorm;TS"
  • --update_settings — обновление существующих настроек пространства.
    По умолчанию: False — при импорте проекта в существующее пространство или при повторном импорте настройки пространства (типы, атрибуты, процессы) не обновляются.
  • --update_tasks — обновление задач при повторном импорте.
    По умолчанию: False — при повторном импорте данные задач не обновляются.
  • --import_wiki — импорт содержимого вики-страниц.
    По умолчанию: False — вики-содержимое не импортируется.
  • --skip_system_roles_assignment — не выдавать пользователям системные роли.
    По умолчанию: False — импортированным пользователям не выдаются системные роли. При этом доступные лицензии могут быть исчерпаны при назначении большого количества системных ролей. Возможно назначение задач пользователям без предоставления им лицензий.