有没有办法搜索特定用户的所有 GitLab 组和相关项目(我拥有或管理的)(目的是删除该用户)?我知道如果他们是组本身的成员如何,但是如果组中有很多项目并且有些项目有单独添加的用户,那么逐一搜索每个项目很乏味。
Vla*_*lad 11
我在 GitLab UI 中没有找到这样的功能,所以我使用GitLab API开发了 python 脚本。
\n这是带有我的脚本和文档源代码的存储库的链接:https://gitlab.com/CVisionLab/gitlab-tools/
\n只需下载gitlab-delete-members.py脚本并在 bash 命令行中运行即可。使用示例:
$ gitlab-delete-members.py --query johndoe123 --token Abcdefg123\n Auth at https://gitlab.com\nProject "MyGroupSpam / my-project-foo" (id=11111111) : no users to delete\nProject "MyGroupSpam / my-project-bar" (id=11111112) : delete johndoe123 (id=3333333) : ok\nProject "NotMyGroupEggs / not-my-project-baz" (id=11111113) : delete johndoe123 (id=3333333) : fail\n 1 members deleted in 2 repositories\nRun Code Online (Sandbox Code Playgroud)\n以防万一我在这里提供脚本的完整源代码:
\n$ gitlab-delete-members.py --query johndoe123 --token Abcdefg123\n Auth at https://gitlab.com\nProject "MyGroupSpam / my-project-foo" (id=11111111) : no users to delete\nProject "MyGroupSpam / my-project-bar" (id=11111112) : delete johndoe123 (id=3333333) : ok\nProject "NotMyGroupEggs / not-my-project-baz" (id=11111113) : delete johndoe123 (id=3333333) : fail\n 1 members deleted in 2 repositories\nRun Code Online (Sandbox Code Playgroud)\n如果您想了解使用了哪些 GitLab API 函数,请参阅以下简短列表:
\ngl = gitlab.Gitlab(...)\xe2\x80\x93 创建 API 对象gl.auth()- 验证projects = gl.projects.list(...)- 获取项目列表members = p.members.list(...)- 列出与查询匹配的特定项目的成员m.delete()- 从项目中删除成员如果组里有很多项目,并且有些项目是单独添加用户的,那么逐个搜索项目就很繁琐。
然而,考虑到编写脚本很容易,这将是唯一的选择:
如果您是管理员,您还可以列出用户的项目
问题 7687 中请求通过 API 从项目中删除用户,并在 GitLAb 8.7 中解决。
DEL /projects/#{project.id}/members/#{user.id}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1807 次 |
| 最近记录: |