我有一个包含许多项目的GitLab CE服务器,我想为所有项目添加一个用户。
如果可能的话,我希望避免通过UI(“项目”->“设置”->“成员”->“将用户添加到项目”)执行此操作,因为这将花费大量时间。
答案 0 :(得分:1)
执行此操作的一种方法是将所有项目移到一个组中。然后,将新成员添加到组中将授予他们访问所有包含项目的权限。移动所有项目可能很乏味,但是一旦完成,将使成员管理更加容易。如果您希望将来可能需要更细粒度的权限,也可以考虑对组进行嵌套的层次结构。
有关说明,请参见https://docs.gitlab.com/ce/user/group。
从链接页面的“将用户添加到组”部分:
将多个项目归为一组的好处是您可以 用户只需执行一项操作,即可访问组中的所有项目。
通过导航至该小组的仪表板,将成员添加到该小组 点击会员。
选择权限级别,然后添加新成员。您也可以设定 该用户的到期日期;这是他们的约会日期 不再有权访问您的论坛。
考虑一个有两个项目的小组:
- 在组成员页面上,您现在可以向该组添加新用户。
- 现在,由于该用户是该组的 Developer 成员,因此他们自动获得该组中所有项目的 Developer 访问权限。 / li>
为特定用户增加现有用户的访问级别 项目,然后将它们再次添加为项目的新成员 所需的权限级别。
答案 1 :(得分:1)
您可以使用GitLab Projects和Members API来实现这一目标。
首先对GET
API发出/projects
请求,以获取所有项目的列表。
然后针对您要向其添加成员的每个项目,对POST
API进行/projects/:id/members
。
您可以在该page上看到POST
请求的示例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --data "user_id=1&access_level=30" https://gitlab.example.com/api/v4/projects/:id/members