Как включить проблемы GitHub и PR в API репозитория, инициируемого API, в GitLab?

Многие академические организации присутствуют как таковые на GitHub, но могут также иметь собственный экземпляр GitLab CE.

Чтобы автоматически и полностью сделать резервную копию первого на втором, они могут захотеть запустить какой-то скрипт, который запускает их GitLab для импорта всех репозиториев из их организации GitHub. Это возможно через графический интерфейс с github_importer( документ). Это не возможно вручную и постоянно для многих репо.

Использование GitLab'sCreate projectа такжеImport fileAPI, я собрал вместе этот (Bash) код, который создает проекты GitLab из данных репозиториев GitHub:

curl --request POST --header "PRIVATE-TOKEN: $API_SCOPE" \ --form "namespace_id=$GROUP_ID" \ --form "path=$REPO" \ --form "import_url=https://github.com/$ORG/$REPO \ https://git.domain.edu/api/v4/projects/

ORG будет исходной организацией на GitHub иGROUP_IDпосвященныйGitHub-archiveгруппа на экземпляре GitLab CE.

Однако при этом импортируются только файлы и история Git, а не проблемы GitHub, PR, ярлыки и т. Д., Но они необходимы для полного резервного копирования. Итак, мне интересно:

  1. Существует ли третья конечная точка API, относящаяся к этой задаче?/projects/importкажется,требует fileатрибута, но попытка сначала прочитать список файлов из GitHub, вероятно, слишком быстро исчерпает лимит API для возможного решения для резервного копирования.
  2. Есть ли другой--form ""флаг можно добавить к/projectsзапросы, которые заставляют его вести себя как github_importer?
  3. Может быть, у последнего есть недокументированный API?
  4. Нужно ли использоватьgitlab-rake import:github[…]?

Спасибо за любые подсказки на вышеупомянутые вопросы или ссылки на существующие решения / инструменты / сценарии, независимо от языка. Спасибо!

PS: Да, приведенный выше скрипт будет излишним по сравнению со встроенным в GitLabRepository mirroring, но это не включает проблемы, PR и ярлыки.

1 ответ

По состоянию на август 2018 года 4. кажется, единственный ответ. Когда проблема GitLab CI 34848 будет реализована, она может стать опцией для 1.,

Другие вопросы по тегам