GraphQL을 사용하여 사용자 조회
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
다음을 사용하여 GitLab 인스턴스에서 사용자 하위 집합을 조회할 수 있습니다: 다음 텍스트를 복사하여 왼쪽 창에 붙여넣습니다. GraphQL API는 표준 ID 대신 GlobalID를 반환합니다. 이 쿼리는 나열된 사용자 이름을 가진 세 사용자에 대한 지정된 정보를 반환합니다.
다음을 사용하여 GitLab 인스턴스에서 사용자 하위 집합을 조회할 수 있습니다:
- GraphiQL.
cURL.
GraphiQL 사용#
-
GraphiQL을 엽니다:
- GitLab.com의 경우:
https://gitlab.com/-/graphql-explorer사용 - GitLab Self-Managed의 경우:
https://gitlab.example.com/-/graphql-explorer사용
- GitLab.com의 경우:
-
다음 텍스트를 복사하여 왼쪽 창에 붙여넣습니다. 이 쿼리는 사용자 이름으로 GitLab 인스턴스에서 사용자 하위 집합을 찾습니다. 또는 전역 ID를 사용할 수 있습니다.
{ users(usernames: ["user1", "user3", "user4"]) { pageInfo { endCursor startCursor hasNextPage } nodes { id username, publicEmail location webUrl userPermissions { createSnippet } } } } -
Play를 선택합니다.
GraphQL API는 표준 ID 대신 GlobalID를 반환합니다. 단일 정수 대신 GlobalID를 입력으로 예상합니다.
이 쿼리는 나열된 사용자 이름을 가진 세 사용자에 대한 지정된 정보를 반환합니다.
- GraphiQL은 세션 토큰을 사용하여 리소스에 대한 액세스를 승인하므로 출력은 현재 인증된 사용자가 액세스할 수 있는 프로젝트 및 그룹으로 제한됩니다.
- 인스턴스 관리자로 로그인한 경우 모든 리소스에 액세스할 수 있습니다.
관리자만 표시#
관리자로 로그인한 경우 쿼리에 admins: true 매개변수를 추가하여
인스턴스에서 일치하는 관리자를 표시할 수 있습니다.
두 번째 줄을 다음으로 변경합니다:
users(usernames: ["user1", "user3", "user4"], admins: true) {
...
}
또는 모든 관리자를 가져올 수 있습니다:
users(admins: true) {
...
}
페이지네이션 및 그래프 노드#
쿼리에는 다음이 포함됩니다:
pageInfo#
페이지네이션을 구현하는 데 필요한 데이터가 포함됩니다. GitLab은 커서 기반 페이지네이션을 사용합니다. 자세한 내용은 GraphQL 문서의 Pagination을 참조하세요.
nodes#
GraphQL 쿼리에서 nodes는 그래프의 nodes 컬렉션을 나타냅니다.
이 경우 노드 컬렉션은 User 객체의 컬렉션입니다. 각 객체에 대해
출력에는 다음이 포함됩니다:
- 사용자의
id. - 해당 사용자에 속하는 프로젝트 또는 그룹 멤버십을 나타내는
membership프래그먼트. 프래그먼트는...memberships표기법으로 표시됩니다.
