README.md

GitHub-to-GitFlic Issue Migrator

Скрипт для автоматического переноса задач (issues) из репозиториев GitHub в репозитории GitFlic.

Поддерживает перенос следующих данных:

  • Заголовок задачи
  • Описание
  • Статус задачи (OPEN, CLOSED, COMPLETED)
  • Ответственные лица (Assignees)

Особенности

  • Поддержка множественного переноса через файл repos.txt.
  • Автоматическое сопоставление статусов задач GitHub и GitFlic.
  • Перенос информации об ответственных лицах (при наличии совпадения логинов).
  • Хранение токенов доступа в отдельном файле token.txt. У токенов должен быть доступ ко всем проектам, указанным в repos.txt.
  • Скрипт на данный момент не переносит лейблы.
  • В GitFlic не поддерживаются проблемы с пустым описанием, поэтому в случаях, когда описание проблемы из GitHub пустое, оно заполняется заголовком проблемы.
  • Изменить API URL можно внутри функции process_repos_file.

Требования

  • Python 3.8 и выше
  • Установленные зависимости (см. ниже)
  • Доступ к API GitHub и GitFlic с действующими токенами доступа. Создать токен GitHub можно тут.

Установка и настройка

  1. Клонируйте репозиторий

    git clone https://gitflic.ru/project/lab/gh-to-gf-issue-migrator.git
    cd gh-to-gf-issue-migrator
    
  2. Установите зависимости

    pip install -r requirements.txt
    
  3. Заполните файл token.txt

    Заполните файл следующими данными:

    GITHUB_TOKEN=ваш_токен_доступа_к_GitHub
    GITFLIC_TOKEN=ваш_токен_доступа_к_GitFlic
    
  4. Заполните файл repos.txt

    Укажите список репозиториев для переноса в формате:

    алиас_владельца_репозитория_github/алиас_репозитория_github;алиас_владельца_репозитория_gitflic/алиас_репозитория_gitflic
    

    Пример:

    github_owner_alias/myrepo;gitflic_owner_alias/myrepo
    github_owner_alias/myrepo2;gitflic_owner_alias/myrepo2
    

Использование

Запустите скрипт для переноса задач:

python main.py

Скрипт автоматически обработает все строки в repos.txt и перенесет задачи из указанных репозиториев GitHub в GitFlic. Обратите внимание, на gitflic.ru работает ограничение 500 запросов в час от пользователя, если количество issue будет свыше 500, то скрипт автоматически будет отправлять 500 запросов в час. Если количество записей менее 500, то они будут переноситься без задержки.

Автор: @dshitov

Описание

Скрипт для переноса всех issue из GitHub в GitFlic

Конвейеры
0 успешных
0 с ошибкой