如何在通过API触发的GitLab存储库导入中包括GitHub问题和PR?

3
许多学术组织在GitHub上存在,但也可能拥有自托管的GitLab CE实例。
为了将前者自动完全备份到后者,他们可能希望运行某种脚本来触发其GitLab从其GitHub组织导入所有存储库。这可以通过github_importerdocu)的GUI实现。对于许多存储库而言,手动和持续进行此操作是不可行的。
使用GitLab的Create projectImport file API,我拼凑出了这个(Bash)代码,它可以从给定的GitHub存储库创建GitLab项目:

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 是 GitLab CE 实例上专门的 GitHub-archive 组。

然而,这仅导入文件和 Git 历史记录,而不包括 GitHub 问题、PR、标签等。但这些都是完整备份所需的。因此,我想知道:

  1. 这个任务是否有第三方API端点与之相关?/projects/import似乎需要一个file属性,但试图先从GitHub读取文件列表可能会很快耗尽API限制,不适合作为可行的备选方案。
  2. 还有另一个--form ""标志可以添加到/projects请求中,使其像github_importer一样运行吗?
  3. 后者是否可能有一个未记录的API?
  4. 是否需要使用gitlab-rake import:github[…]

感谢任何关于上述问题的提示,或指向现有解决方案/工具/脚本的指针,无论使用什么语言。谢谢!

PS:是的,与GitLab内置的仓库镜像相比,上述脚本可能过于复杂,但也不能包括问题、PR和标签。

1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接