{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

你可以通过以下方式为特定用户子集创建审计报告:

  • GraphiQL。
  • cURL

使用 GraphiQL

您可以使用 GraphiQL 查询关于用户子集的信息。

  1. 打开 GraphiQL:
    • 对于 JihuLab.com,使用:https://gitlab.com/-/graphql-explorer
    • 对于极狐GitLab私有化部署,使用:https://gitlab.example.com/-/graphql-explorer
  2. 复制以下文本并粘贴到左侧窗口。 此查询通过用户名搜索用户子集。或者,您可以使用他们的 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
          }
        }
      }
    }
    
  3. 选择 播放

{{< alert type=”note” >}}

GraphQL API 返回 GlobalID,而不是标准 ID。它也期望 GlobalID 作为输入,而不是单个整数。

{{< /alert >}}

此查询返回用户明确成为成员的群组和项目。

  • 因为 GraphiQL 使用会话令牌来授权访问资源,输出仅限于当前认证用户可访问的项目和群组。
  • 如果您以实例管理员身份登录,则可以访问所有资源。

分页和图节点

查询包括:

pageInfo

此部分包含实现分页所需的数据。极狐GitLab 使用基于游标的 分页。有关更多信息,请参阅 GraphQL 文档中的 分页

nodes

在 GraphQL 查询中,nodes 表示图上的 节点集合。在这种情况下,节点集合是 User 对象集合。对于每个对象,输出包括:

  • 用户的 id
  • membership 片段,表示属于该用户的项目或群组成员关系。片段通过 ...memberships 表示。

相关主题