InfoGrab DocsInfoGrab Docs

GitLab 쿼리 언어(GLQL)

요약

GitLab 쿼리 언어(GLQL)는 GitLab 전체를 위한 단일 쿼리 언어입니다. Markdown 코드 블록에 쿼리를 임베드합니다. GLQL로 구동되는 임베드된 뷰 피드백 이슈에서 피드백을 공유하세요. 쿼리 구문은 주로 논리 표현식으로 구성됩니다.

히스토리

GitLab 쿼리 언어(GLQL)는 GitLab 전체를 위한 단일 쿼리 언어입니다. 친숙한 구문을 사용하여 플랫폼 어디서든 콘텐츠를 필터링하고 임베드하는 데 사용합니다.

Markdown 코드 블록에 쿼리를 임베드합니다. 임베드된 뷰는 GLQL 소스 코드 블록의 렌더링된 출력입니다.

GLQL로 구동되는 임베드된 뷰 피드백 이슈에서 피드백을 공유하세요.

쿼리 구문#

쿼리 구문은 주로 논리 표현식으로 구성됩니다. 이러한 표현식은 <필드> <연산자> <값> and ...의 구문을 따릅니다.

데이터 소스#

GLQL은 워크 아이템, 머지 리퀘스트, 파이프라인, 잡, 프로젝트와 같은 다양한 데이터 소스를 쿼리할 수 있습니다.

지원되는 데이터 소스의 전체 목록은 GLQL 데이터 소스를 참조하세요.

필드#

필드를 사용하여 결과를 필터링, 표시 및 정렬합니다.

사용할 수 있는 필드는 쿼리하는 데이터 소스에 따라 다릅니다. 각 데이터 소스에 대해 지원되는 필드, 연산자 및 값의 전체 목록은 GLQL 필드를 참조하세요.

연산자#

비교 연산자:

GLQL 연산자 설명 검색에서 동등한 표현
= 같음 / 목록의 모두 포함 is (equal to)
!= 같지 않음 / 목록에 포함되지 않음 is not (equal to)
in 목록에 포함 or / is one of
> 초과 No
< 미만 No
>= 이상 No
<= 이하 No

논리 연산자: and만 지원됩니다. orin 비교 연산자를 사용하여 일부 필드에서 간접적으로 지원됩니다.

#

값에는 다음이 포함될 수 있습니다:

  • 문자열

  • 숫자

  • 상대 날짜(예: -1d, 2w, -6m, 1y)

  • 절대 날짜(YYYY-MM-DD 형식, 예: 2025-01-01)

  • 함수(사용자 필드의 경우 currentUser() 또는 날짜의 경우 today())

  • 열거형 값(마일스톤의 경우 upcoming 또는 started)

  • 불리언(true 또는 false)

  • null 허용 값(예: null, none, any)

  • GitLab 참조(레이블의 경우 ~label, 마일스톤의 경우 %Backlog, 사용자의 경우 @username)

  • 이전 값 중 하나를 포함하는 목록(괄호로 둘러싸여: () 쉼표로 구분: ,)

임베드된 뷰#

임베드된 뷰는 Markdown의 GLQL 소스 코드 블록의 출력입니다. 소스에는 쿼리와 함께 GLQL 쿼리 결과를 표시하는 방법을 설명하는 YAML 속성이 포함됩니다.

지원되는 영역#

히스토리
  • 리포지터리 Markdown 파일의 임베드된 뷰가 GitLab 18.3에서 도입.

임베드된 뷰는 다음 영역에서 표시될 수 있습니다:

  • 그룹 및 프로젝트 위키

  • 다음의 설명 및 댓글:

에픽

  • 이슈

  • 머지 리퀘스트

  • 워크 아이템(작업, OKR 또는 에픽)

  • 리포지터리 Markdown 파일

구문#

임베드된 뷰 소스의 구문은 다음으로 구성된 YAML의 슈퍼셋입니다:

  • query 매개변수: and와 같은 논리 연산자로 결합된 표현식.

  • YAML로 표현된 display, limit, fields, title, description과 같은 프레젠테이션 레이어 관련 매개변수.

뷰는 Mermaid와 같은 다른 코드 블록과 유사하게 Markdown에서 코드 블록으로 정의됩니다.

예를 들어:

  • gitlab-org/gitlab에서 인증된 사용자에게 할당된 처음 5개의 열린 이슈 표를 표시합니다.

  • title, state, health, description, epic, milestone, weight, updated 열을 표시합니다.

display: table
title: GLQL table 🎉
description: This view lists my open issues
fields: title, state, health, epic, milestone, weight, updated
limit: 5
query: type = Issue AND group = "gitlab-org" AND assignee = currentUser() AND state = opened

이 소스는 아래와 같은 표를 렌더링해야 합니다:

GLQL 표 예시

프레젠테이션 구문#

히스토리
  • GitLab 17.7에서 변경: YAML 프론트매터를 사용하여 프레젠테이션 레이어를 구성하는 것은 더 이상 사용되지 않습니다.
  • GitLab 17.10에서 titledescription 매개변수 도입.
  • GitLab 18.2에서 정렬 및 페이지네이션 도입.
  • GitLab 18.3에서 collapsed 매개변수 도입.

query 매개변수 외에도 몇 가지 선택적 매개변수를 사용하여 뷰의 프레젠테이션 세부 정보를 구성할 수 있습니다.

지원되는 매개변수:

매개변수 기본값 설명
collapsed false 뷰를 축소하거나 확장할지 여부.
description 없음 제목 아래에 표시할 선택적 설명.
display list 쿼리 결과를 표시하는 방법. 사용 가능한 유형은 표시 유형을 참조하세요.
displayConfig 없음 칼럼 차트의 stacked와 같은 표시 유형별 옵션. 표시 유형을 참조하세요.
fields title 뷰에 포함할 필드의 쉼표로 구분된 목록.
limit 100 첫 번째 페이지에 표시할 항목 수. 최대값은 100.
sort updated desc 데이터를 정렬할 필드와 정렬 순서(asc 또는 desc).
title Embedded table view 또는 Embedded list view 임베드된 뷰 상단에 표시되는 제목.

페이지네이션#

히스토리

임베드된 뷰는 기본적으로 결과의 첫 번째 페이지를 표시합니다. limit 매개변수는 표시되는 항목 수를 제어합니다.

다음 페이지를 로드하려면 마지막 행에서 더 불러오기를 선택합니다.

필드 함수#

동적으로 생성된 열을 만들려면 뷰의 fields 매개변수에 함수를 사용합니다. 전체 목록은 임베드된 뷰의 함수를 참조하세요.

커스텀 필드 별칭#

히스토리

표 뷰의 열 이름을 커스텀 값으로 바꾸려면 AS 구문 키워드를 사용하여 필드에 별칭을 지정합니다.

display: list
fields: title, labels("workflow::*") AS "Workflow", labels("priority::*") AS "Priority"
limit: 5
query: type = Issue AND project = "gitlab-org/gitlab" AND assignee = currentUser() AND state = opened

이 소스는 Title, Workflow, Priority 열이 있는 뷰를 표시합니다.

표시 유형#

display 매개변수는 임베드된 뷰가 쿼리 결과를 렌더링하는 방식을 제어합니다. 예를 들어 목록, 표 또는 칼럼 차트로 표시합니다. 기본적으로 결과는 목록으로 표시됩니다.

전체 표시 유형 목록과 구성은 GLQL 표시 유형을 참조하세요.

뷰 액션#

히스토리
  • GitLab 17.11에서 도입.
  • GitLab 18.0에서 다시 로드 액션 도입.

페이지에 뷰가 표시되면 뷰 액션 ( ellipsis_v ) 드롭다운 목록을 사용하여 작업을 수행합니다.

지원되는 액션:

액션 설명
소스 보기 뷰의 소스를 봅니다.
소스 복사 뷰의 소스를 클립보드에 복사합니다.
내용 복사 표 또는 목록 내용을 클립보드에 복사합니다.
다시 로드 이 뷰를 다시 로드합니다.

분석 모드#

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
히스토리

GLQL은 집계된 메트릭을 제공하는 데이터 소스를 위한 분석 모드를 지원합니다. 분석 모드 쿼리는 fields 대신 dimensionsmetrics를 사용하여 데이터를 그룹화하고 집계합니다.

일부 데이터 소스는 표준 모드와 분석 모드를 모두 지원합니다. 지원되는 모드는 각 데이터 소스 페이지를 참조하세요.

구문#

분석 모드 쿼리는 다음 구조를 사용합니다:

mode: analytics
query: type =  and <filters>
dimensions: <dimension fields>
metrics: <metric fields>
sort: <field> <direction>
limit: <number>
매개변수 필수 여부 설명
mode: analytics Yes 분석 모드를 사용하려면 필수입니다.
metrics Yes 계산할 집계 값. 최소 하나의 메트릭이 필요합니다.
dimensions No 결과를 그룹화할 필드. 임의의 조합을 선택하거나, 단일 집계 행을 반환하려면 완전히 생략합니다.
sort No 정렬 필드는 선택한 dimensions 또는 metrics에도 있어야 합니다.
limit No 기본값은 100. 최대값은 100.

커스텀 별칭#

as 키워드를 사용하여 dimension 또는 metric 칼럼의 이름을 바꿉니다:

dimensions: language as "Language", ideName as "IDE"
metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate"

정렬#

선택한 dimensions 또는 metrics에 있는 필드를 기준으로 정렬합니다. 선택한 dimensions 또는 metrics에 없는 필드는 기준으로 정렬할 수 없습니다.

sort: acceptanceRate desc

여러 정렬 필드가 지원됩니다:

sort: totalCount desc, acceptanceRate asc

예시#

다음 쿼리는 지난 30일간 Code Suggestions 수락률을 언어별로 반환하고, 수락률 순으로 정렬합니다:

display: table
mode: analytics
query: type = CodeSuggestion and timestamp >= -30d
dimensions: language as "Language"
metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate"
sort: acceptanceRate desc

자세한 내용은 특정 데이터 소스의 예시를 참조하세요.

고급 검색 통합#

히스토리
  • GitLab 18.6에서 glql_work_itemsglql_es_integration이라는 기능 플래그와 함께 베타도입. 기본적으로 활성화됨.
  • GitLab 18.10에서 기능 플래그 glql_work_items 제거됨.
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요.

GLQL은 쿼리 속도를 높이기 위해 사용 가능한 경우 고급 검색을 사용합니다. 고급 검색은 대규모 데이터셋에서 복잡한 쿼리에 대해 더 빠른 응답 시간을 제공합니다.

고급 검색은:

  • GitLab.com 및 GitLab Dedicated 유료 구독의 경우 기본적으로 활성화됩니다.

  • 관리자가 고급 검색 활성화한 경우 GitLab Self-Managed에서 사용 가능합니다.

고급 검색을 사용할 수 없는 경우 GLQL은 대신 PostgreSQL을 사용합니다.

GitLab 쿼리 언어(GLQL)

GitLab v19.2
Tier: Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab 쿼리 언어(GLQL)는 GitLab 전체를 위한 단일 쿼리 언어입니다. Markdown 코드 블록에 쿼리를 임베드합니다. GLQL로 구동되는 임베드된 뷰 피드백 이슈에서 피드백을 공유하세요. 쿼리 구문은 주로 논리 표현식으로 구성됩니다.

히스토리

GitLab 쿼리 언어(GLQL)는 GitLab 전체를 위한 단일 쿼리 언어입니다. 친숙한 구문을 사용하여 플랫폼 어디서든 콘텐츠를 필터링하고 임베드하는 데 사용합니다.

Markdown 코드 블록에 쿼리를 임베드합니다. 임베드된 뷰는 GLQL 소스 코드 블록의 렌더링된 출력입니다.

GLQL로 구동되는 임베드된 뷰 피드백 이슈에서 피드백을 공유하세요.

쿼리 구문#

쿼리 구문은 주로 논리 표현식으로 구성됩니다. 이러한 표현식은 <필드> <연산자> <값> and ...의 구문을 따릅니다.

데이터 소스#

GLQL은 워크 아이템, 머지 리퀘스트, 파이프라인, 잡, 프로젝트와 같은 다양한 데이터 소스를 쿼리할 수 있습니다.

지원되는 데이터 소스의 전체 목록은 GLQL 데이터 소스를 참조하세요.

필드#

필드를 사용하여 결과를 필터링, 표시 및 정렬합니다.

사용할 수 있는 필드는 쿼리하는 데이터 소스에 따라 다릅니다. 각 데이터 소스에 대해 지원되는 필드, 연산자 및 값의 전체 목록은 GLQL 필드를 참조하세요.

연산자#

비교 연산자:

GLQL 연산자 설명 검색에서 동등한 표현
= 같음 / 목록의 모두 포함 is (equal to)
!= 같지 않음 / 목록에 포함되지 않음 is not (equal to)
in 목록에 포함 or / is one of
> 초과 No
< 미만 No
>= 이상 No
<= 이하 No

논리 연산자: and만 지원됩니다. orin 비교 연산자를 사용하여 일부 필드에서 간접적으로 지원됩니다.

#

값에는 다음이 포함될 수 있습니다:

  • 문자열

  • 숫자

  • 상대 날짜(예: -1d, 2w, -6m, 1y)

  • 절대 날짜(YYYY-MM-DD 형식, 예: 2025-01-01)

  • 함수(사용자 필드의 경우 currentUser() 또는 날짜의 경우 today())

  • 열거형 값(마일스톤의 경우 upcoming 또는 started)

  • 불리언(true 또는 false)

  • null 허용 값(예: null, none, any)

  • GitLab 참조(레이블의 경우 ~label, 마일스톤의 경우 %Backlog, 사용자의 경우 @username)

  • 이전 값 중 하나를 포함하는 목록(괄호로 둘러싸여: () 쉼표로 구분: ,)

임베드된 뷰#

임베드된 뷰는 Markdown의 GLQL 소스 코드 블록의 출력입니다. 소스에는 쿼리와 함께 GLQL 쿼리 결과를 표시하는 방법을 설명하는 YAML 속성이 포함됩니다.

지원되는 영역#

히스토리
  • 리포지터리 Markdown 파일의 임베드된 뷰가 GitLab 18.3에서 도입.

임베드된 뷰는 다음 영역에서 표시될 수 있습니다:

  • 그룹 및 프로젝트 위키

  • 다음의 설명 및 댓글:

에픽

  • 이슈

  • 머지 리퀘스트

  • 워크 아이템(작업, OKR 또는 에픽)

  • 리포지터리 Markdown 파일

구문#

임베드된 뷰 소스의 구문은 다음으로 구성된 YAML의 슈퍼셋입니다:

  • query 매개변수: and와 같은 논리 연산자로 결합된 표현식.

  • YAML로 표현된 display, limit, fields, title, description과 같은 프레젠테이션 레이어 관련 매개변수.

뷰는 Mermaid와 같은 다른 코드 블록과 유사하게 Markdown에서 코드 블록으로 정의됩니다.

예를 들어:

  • gitlab-org/gitlab에서 인증된 사용자에게 할당된 처음 5개의 열린 이슈 표를 표시합니다.

  • title, state, health, description, epic, milestone, weight, updated 열을 표시합니다.

display: table
title: GLQL table 🎉
description: This view lists my open issues
fields: title, state, health, epic, milestone, weight, updated
limit: 5
query: type = Issue AND group = "gitlab-org" AND assignee = currentUser() AND state = opened

이 소스는 아래와 같은 표를 렌더링해야 합니다:

GLQL 표 예시

프레젠테이션 구문#

히스토리
  • GitLab 17.7에서 변경: YAML 프론트매터를 사용하여 프레젠테이션 레이어를 구성하는 것은 더 이상 사용되지 않습니다.
  • GitLab 17.10에서 titledescription 매개변수 도입.
  • GitLab 18.2에서 정렬 및 페이지네이션 도입.
  • GitLab 18.3에서 collapsed 매개변수 도입.

query 매개변수 외에도 몇 가지 선택적 매개변수를 사용하여 뷰의 프레젠테이션 세부 정보를 구성할 수 있습니다.

지원되는 매개변수:

매개변수 기본값 설명
collapsed false 뷰를 축소하거나 확장할지 여부.
description 없음 제목 아래에 표시할 선택적 설명.
display list 쿼리 결과를 표시하는 방법. 사용 가능한 유형은 표시 유형을 참조하세요.
displayConfig 없음 칼럼 차트의 stacked와 같은 표시 유형별 옵션. 표시 유형을 참조하세요.
fields title 뷰에 포함할 필드의 쉼표로 구분된 목록.
limit 100 첫 번째 페이지에 표시할 항목 수. 최대값은 100.
sort updated desc 데이터를 정렬할 필드와 정렬 순서(asc 또는 desc).
title Embedded table view 또는 Embedded list view 임베드된 뷰 상단에 표시되는 제목.

페이지네이션#

히스토리

임베드된 뷰는 기본적으로 결과의 첫 번째 페이지를 표시합니다. limit 매개변수는 표시되는 항목 수를 제어합니다.

다음 페이지를 로드하려면 마지막 행에서 더 불러오기를 선택합니다.

필드 함수#

동적으로 생성된 열을 만들려면 뷰의 fields 매개변수에 함수를 사용합니다. 전체 목록은 임베드된 뷰의 함수를 참조하세요.

커스텀 필드 별칭#

히스토리

표 뷰의 열 이름을 커스텀 값으로 바꾸려면 AS 구문 키워드를 사용하여 필드에 별칭을 지정합니다.

display: list
fields: title, labels("workflow::*") AS "Workflow", labels("priority::*") AS "Priority"
limit: 5
query: type = Issue AND project = "gitlab-org/gitlab" AND assignee = currentUser() AND state = opened

이 소스는 Title, Workflow, Priority 열이 있는 뷰를 표시합니다.

표시 유형#

display 매개변수는 임베드된 뷰가 쿼리 결과를 렌더링하는 방식을 제어합니다. 예를 들어 목록, 표 또는 칼럼 차트로 표시합니다. 기본적으로 결과는 목록으로 표시됩니다.

전체 표시 유형 목록과 구성은 GLQL 표시 유형을 참조하세요.

뷰 액션#

히스토리
  • GitLab 17.11에서 도입.
  • GitLab 18.0에서 다시 로드 액션 도입.

페이지에 뷰가 표시되면 뷰 액션 ( ellipsis_v ) 드롭다운 목록을 사용하여 작업을 수행합니다.

지원되는 액션:

액션 설명
소스 보기 뷰의 소스를 봅니다.
소스 복사 뷰의 소스를 클립보드에 복사합니다.
내용 복사 표 또는 목록 내용을 클립보드에 복사합니다.
다시 로드 이 뷰를 다시 로드합니다.

분석 모드#

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
히스토리

GLQL은 집계된 메트릭을 제공하는 데이터 소스를 위한 분석 모드를 지원합니다. 분석 모드 쿼리는 fields 대신 dimensionsmetrics를 사용하여 데이터를 그룹화하고 집계합니다.

일부 데이터 소스는 표준 모드와 분석 모드를 모두 지원합니다. 지원되는 모드는 각 데이터 소스 페이지를 참조하세요.

구문#

분석 모드 쿼리는 다음 구조를 사용합니다:

mode: analytics
query: type =  and <filters>
dimensions: <dimension fields>
metrics: <metric fields>
sort: <field> <direction>
limit: <number>
매개변수 필수 여부 설명
mode: analytics Yes 분석 모드를 사용하려면 필수입니다.
metrics Yes 계산할 집계 값. 최소 하나의 메트릭이 필요합니다.
dimensions No 결과를 그룹화할 필드. 임의의 조합을 선택하거나, 단일 집계 행을 반환하려면 완전히 생략합니다.
sort No 정렬 필드는 선택한 dimensions 또는 metrics에도 있어야 합니다.
limit No 기본값은 100. 최대값은 100.

커스텀 별칭#

as 키워드를 사용하여 dimension 또는 metric 칼럼의 이름을 바꿉니다:

dimensions: language as "Language", ideName as "IDE"
metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate"

정렬#

선택한 dimensions 또는 metrics에 있는 필드를 기준으로 정렬합니다. 선택한 dimensions 또는 metrics에 없는 필드는 기준으로 정렬할 수 없습니다.

sort: acceptanceRate desc

여러 정렬 필드가 지원됩니다:

sort: totalCount desc, acceptanceRate asc

예시#

다음 쿼리는 지난 30일간 Code Suggestions 수락률을 언어별로 반환하고, 수락률 순으로 정렬합니다:

display: table
mode: analytics
query: type = CodeSuggestion and timestamp >= -30d
dimensions: language as "Language"
metrics: totalCount as "Total", acceptanceRate as "Acceptance Rate"
sort: acceptanceRate desc

자세한 내용은 특정 데이터 소스의 예시를 참조하세요.

고급 검색 통합#

히스토리
  • GitLab 18.6에서 glql_work_itemsglql_es_integration이라는 기능 플래그와 함께 베타도입. 기본적으로 활성화됨.
  • GitLab 18.10에서 기능 플래그 glql_work_items 제거됨.
Feature flag

이 기능의 가용성은 기능 플래그에 의해 제어됩니다. 자세한 내용은 기록을 참조하세요.

GLQL은 쿼리 속도를 높이기 위해 사용 가능한 경우 고급 검색을 사용합니다. 고급 검색은 대규모 데이터셋에서 복잡한 쿼리에 대해 더 빠른 응답 시간을 제공합니다.

고급 검색은:

  • GitLab.com 및 GitLab Dedicated 유료 구독의 경우 기본적으로 활성화됩니다.

  • 관리자가 고급 검색 활성화한 경우 GitLab Self-Managed에서 사용 가능합니다.

고급 검색을 사용할 수 없는 경우 GLQL은 대신 PostgreSQL을 사용합니다.