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

Импорт межпроектных связей задач из Jira

Документ описывает инструкцию по добавлению связей задач, импортированных из Jira в разные пространства TeamStorm. При импорте отдельного проекта добавляются связи только с задачами этого проекта. Для добавления связей с задачами других проектов необходимо выполнить процедуру, описанную в этой инструкции.

Порядок запуска

Перед запуском скрипта убедитесь, что выполнен импорт всех необходимых проектов, с задачами которых существуют связи. Все связанные задачи должны быть импортированы в TeamStorm перед запуском.

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

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

  • архив со скриптами импорта
  • URL сервера TeamStorm
  • токен аутентификации пользователя TeamStorm
  • URL сервера 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. Распакуйте архив со скриптами миграции

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

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

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

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

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

  1. Авторизуйтесь в Jira с выбранной учетной записью.
  2. Создайте и сохраните персональный ключ доступа в профиле пользователя согласно документации Atlassian Using Personal Access Tokens

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

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

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

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

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

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

    "DEV"
    
  6. - ключ пространства TeamStorm, в которое выполнен импорт задач из указанного проекта Jira

    "DEV"
    

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

Выбор пространств для поиска связанных задач

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

--ts_spaces "KEY1" "KEY2"

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

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

    python3 migrate_cross_space_links.py <ts_url> <ts_bearer> <j_url> <j_token> <j_key> <associated_ts_key> [Дополнительные параметры скрипта]
    

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

    python3 migrate_cross_space_links.py "http://teamstorm.ru"
    "EzLCJzaWQiOiJh...jzSZHNHP3Jw"
    "http://local-jira.teamstorm.io"
    "EzLCJzaWQiOiJh...WQiZHNH+f3T"
    "TEMP"
    "TEMP"
    --ts_spaces "KEY1" "KEY2"
    
  3. Дождитесь выполнения скрипта

  4. Проверьте наличие связей с задачами других пространств, аналогичные связям исходного проекта в Jira