如何将所有用户添加到项目中,包括新用户?

How to add all users to a project, including new ones?

我想在我学校的 GitLab 服务器(自托管,免费)中设置一个沙箱项目,所有用户,尤其是新用户,都可以用来测试他们需要的任何东西。

如何将所有用户添加到同一个项目?

我已经读过 (问的是相反的),但这只是部分帮助;最有用的答案告诉我使用 API,如果我想将所有 当前 用户添加到项目中,这很好,但我还想添加新用户。

有没有办法将用户添加到项目中,由该用户被确认触发?

一种内置方法是使用 system hooks。例如,您可以创建一个挂钩来响应 user_create 事件并将用户添加到项目中。

另一种方法可能只是 运行 计划的 CI 管道,该管道编写此或类似自动化的脚本(例如服务器上的 cron 作业或其他)。

您可以使用 users list API to enumerate all current users in your GitLab instance (requires admin privileges). You can also use the project membership API 枚举项目的所有成员。您可以比较这两个结果以找到需要添加的任何用户。

伪代码:

project_members = get_project_members(project_id=1234) # project members API
for user in get_all_gitlab_users():  # list users API
    if user not in project_members:
        add_project_member(user=user, project_id=1234)