Help us learn about your current experience with the documentation. Take the survey.
使用 GraphQL 创建审计报告
- 版本:免费版、高级版、旗舰版
- 产品:GitLab.com、GitLab 自管版、GitLab 专属版
您可以通过以下方式为特定用户子集创建审计报告:
- GraphiQL。
cURL。
使用 GraphiQL
您可以使用 GraphiQL 查询特定用户子集的信息。
-
打开 GraphiQL:
- 对于 GitLab.com,请使用:
https://gitlab.com/-/graphql-explorer - 对于 GitLab 自管版,请使用:
https://gitlab.example.com/-/graphql-explorer
- 对于 GitLab.com,请使用:
-
复制以下文本并将其粘贴到左侧窗口中。 此查询通过用户名搜索用户子集。或者,您也可以使用他们的 Global 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 返回的是 GlobalID,而不是标准 ID。 它同样要求输入 GlobalID,而不是单个整数值。
此查询返回用户被明确授予成员身份的组和项目。
- 由于 GraphiQL 使用会话令牌 (session token) 来授权对资源的访问, 因此其输出仅限于当前已认证用户可访问的项目和组。
- 如果您以实例管理员身份登录,则可以访问所有资源。
分页和图节点
该查询包含:
pageInfo
其中包含了实现分页所需的数据。GitLab 使用基于游标的 分页。更多信息,请参阅 GraphQL 文档中的 分页 章节。
nodes
在 GraphQL 查询中,nodes 代表图中 节点 的集合。
在本例中,节点集合即 User 对象的集合。对于每一个对象,输出都包含:
- 用户的
id。 membership片段 (fragment),它代表该用户所属的项目或组成员身份。片段由...memberships表示法指明。