导入组到 gitlabvia API

importing a group to gitlabvia API

我正在弄清楚如何最好地将一些项目从 gitlab 的一个实例(我们称之为 gitlab.A.com)迁移到另一个实例(称之为 gitlab.B.com).都是Gitlab企业版12.10.3-ee.

我想先export/import组,保留成员,然后import/export项目。虽然此版本的 gitlab 确实在 Web 界面中提供了项目 Import/Export 功能,但执行组 Import/Export 的唯一方法是通过 API.

通过使用 git API,我能够成功地从 gitlab.A.com 导出一个组,生成一个包含所有成员的 JSON 文件。但是,当我将该组导入 gitlab.B.com 时,成员不会保留 - 即使导出的文件包含所有成员,创建的组也只有我作为成员。

这是我在命令行输入的导入到gitlab.B.com:

curl --request POST --header "PRIVATE-TOKEN: <my token>" --form "name=data-support" --form "path=data-support" --form "file=@/path_to_export/data_support_group.json" https://gitlab.B.com/api/v4/groups/import

对这个问题做了一些研究,我认为可能是因为虽然我作为群组所有者可以导出所有成员,但只有管理员有权导入保留成员和所有设置的群组 - 我不是管理员。您对此有何了解?我真的希望避免手动将每个成员添加到新组。

谢谢!

我不想说,除了让所有用户提前创建帐户外,使用 Users API to create a user 是唯一的解决方案( 需要管理员帐户) .

没有管理员权限,这类似于 migrating from a GitLab instance to GitLab.com,文档明确指出了这一点。

有一个existing feature request on allowing user mapping for non-admin imports.

供您参考