GraphQL을 사용하여 감사 보고서 설정하기
이 페이지에서는 GraphiQL 탐색기를 사용하여 특정 사용자 하위 집합에 대한 감사 보고서를 설정하는 방법에 대해 설명합니다.
동일한 쿼리를 cURL
을 사용하여 HTTP 엔드포인트를 통해 직접 실행할 수 있습니다. 자세한 정보는 command line에서 시작하는 방법을 참조하세요.
사용자 쿼리 예시는 GitLab 인스턴스에서 사용자 하위 집합을 찾습니다. 이는 사용자 이름이나 Global ID에 의해 수행됩니다. 쿼리에는 다음이 포함됩니다:
pageInfo
이것은 페이지네이션을 구현하는 데 필요한 데이터를 포함합니다. GitLab은 커서 기반의 페이지네이션을 사용합니다. 자세한 정보는 GraphQL 문서의 Pagination을 참조하세요.
nodes
GraphQL 쿼리에서 nodes
는 그래프상의 노드
컬렉션을 나타내는 데 사용됩니다. 이 경우 노드의 컬렉션은 User
객체의 컬렉션입니다. 각각에 대해, 우리는 다음을 출력합니다:
- 그들의 사용자
id
. - 해당 사용자에 속한 프로젝트 또는 그룹 멤버십을 나타내는
membership
fragment. fragment를 출력하는 것은...memberships
표기로 나타냅니다.
GitLab GraphQL API는 포괄적이며 다양한 개체에 대한 대량의 데이터를 출력할 수 있습니다. 가장 최신 정보는 공식 참조 문서를 참조하십시오.
GraphiQL 탐색기 설정
이 절차는 GraphiQL 탐색기에 복사하여 붙여넣을 수 있는 실질적인 예시를 제공합니다. GraphiQL 탐색기는 다음 위치에서 사용할 수 있습니다:
- https://gitlab.com/-/graphql-explorer의 GitLab.com 사용자.
-
https://gitlab.example.com/-/graphql-explorer
의 Self-managed 사용자.
-
다음 코드 일부를 복사합니다:
{ 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 } } } }
- GraphiQL 탐색기 도구를 엽니다.
- 위에서 나열된
query
를 GraphiQL 탐색기 도구의 왼쪽 창에 붙여넣습니다. - 결과를 얻기 위해 실행을 선택합니다.
이 GraphQL 쿼리는 사용자가 명시적으로 멤버로 만들어진 그룹 및 프로젝트를 반환합니다. GraphiQL 탐색기는 세션 토큰을 사용하여 리소스에 대한 액세스를 인가하므로, 결과는 현재 인증된 사용자가 액세스할 수 있는 프로젝트 및 그룹으로 제한됩니다.
인스턴스 관리자로서 로그인한 경우 소유권과 관계없이 모든 레코드에 액세스할 수 있습니다.
더 많은 정보:
- Fragments 및 Interfaces와 같은 GraphQL 특정 개체의 경우 공식 GraphQL 문서를 참조하세요.
- 개별 속성에 대한 자세한 내용은 GraphQL API 리소스를 참조하십시오.