使用 GraphQL 设置审计报告
您可以通过使用如下方法为特定的用户子集创建审计报告:
- GraphiQL。
-
cURL
。
使用 GraphiQL
您可以使用 GraphiQL 来查询特定用户子集的信息。
- 打开 GraphiQL:
- 对 JihuLab.com,使用:
https://jihulab.com/-/graphql-explorer
- 对私有化部署实例,使用:
https://gitlab.example.com/-/graphql-explorer
- 对 JihuLab.com,使用:
-
将下面的文本拷贝并粘贴在左侧窗口中。此查询通过用户名或全局 ID 搜索用户子集。您也可以使用他们的全局 ID。
{ users(usernames: ["user1", "user2", "user3"]) { pageInfo { endCursor startCursor hasNextPage } nodes { id ...memberships } } } fragment membership on MemberInterface { createdAt updatedAt accessLevel { integerValue stringValue } createdBy { id } } fragment memberships on User { groupMemberships { nodes { ...membership group { id name } } } projectMemberships { nodes { ...membership project { id name } } } }
- 选择 运行。
GraphQL API 返回全局 DI,而不是标准 ID。它也期望用全局 ID 作为输入而不是单个数字。
这个查询返回用户被明确添加为成员的组和项目。
- 因为 GraphiQL 使用会话令牌来授权对资源的访问,输出仅限于当前经过身份验证的用户可以访问的项目和组。
- 如果您以实例管理员的身份登录,则无论所有权如何,您都可以访问所有资源。
分页及图节点
查询包括:
pageInfo
包含实现分页所需的数据。极狐GitLab 使用基于光标的分页。详情请参见 GraphQL 文档中的分页。
nodes
在 GraphQL 查询中,nodes
用于表示图表上的 nodes
的集合。
在这种情况下,节点集合是 User
对象的集合。每一个我们都输出:
- 用户
id
- 代表用户项目或群组成员资格的
membership
片段。输出片段用...memberships
表示法表示。