InfoGrab 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
> 초과
< 미만
>= 이상
<= 이하

논리 연산자: 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 열을 표시합니다.
```glql
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
```

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

현재 사용자에게 할당된 이슈를 나열하는 표

프레젠테이션 구문#

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

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

지원되는 매개변수:

매개변수 기본값 설명
collapsed false 뷰를 축소하거나 확장할지 여부.
description 없음 제목 아래에 표시할 선택적 설명.
display table 데이터를 표시하는 방법. 지원되는 옵션: table, list, orderedList.
fields title 뷰에 포함할 필드의 쉼표로 구분된 목록.
limit 100 첫 번째 페이지에 표시할 항목 수. 최대값은 100.
sort updated desc 정렬 순서(asc 또는 desc) 다음에 오는 데이터를 정렬할 필드.
title Embedded table view 또는 Embedded list view 임베드된 뷰 상단에 표시되는 제목.

예를 들어, gitlab-org/gitlab 프로젝트에서 현재 사용자에게 할당된 처음 5개의 이슈를 목록으로 표시하고 만기일(가장 빠른 것부터) 기준으로 정렬하며 title, health, due 필드를 표시하려면:

```glql
display: list
fields: title, health, due
limit: 5
sort: due asc
query: type = Issue AND group = "gitlab-org" AND assignee = currentUser() AND state = opened
```

이 소스는 아래와 같은 목록을 렌더링해야 합니다:

현재 사용자에게 할당된 이슈 목록이 있는 임베드된 뷰

페이지네이션#

히스토리

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

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

필드 함수#

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

커스텀 필드 별칭#

히스토리

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

```glql
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 열이 있는 뷰를 표시합니다.

뷰 액션#

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

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

지원되는 액션:

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

고급 검색 통합#

히스토리
  • 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)

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
> 초과
< 미만
>= 이상
<= 이하

논리 연산자: 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 열을 표시합니다.
```glql
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
```

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

현재 사용자에게 할당된 이슈를 나열하는 표

프레젠테이션 구문#

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

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

지원되는 매개변수:

매개변수 기본값 설명
collapsed false 뷰를 축소하거나 확장할지 여부.
description 없음 제목 아래에 표시할 선택적 설명.
display table 데이터를 표시하는 방법. 지원되는 옵션: table, list, orderedList.
fields title 뷰에 포함할 필드의 쉼표로 구분된 목록.
limit 100 첫 번째 페이지에 표시할 항목 수. 최대값은 100.
sort updated desc 정렬 순서(asc 또는 desc) 다음에 오는 데이터를 정렬할 필드.
title Embedded table view 또는 Embedded list view 임베드된 뷰 상단에 표시되는 제목.

예를 들어, gitlab-org/gitlab 프로젝트에서 현재 사용자에게 할당된 처음 5개의 이슈를 목록으로 표시하고 만기일(가장 빠른 것부터) 기준으로 정렬하며 title, health, due 필드를 표시하려면:

```glql
display: list
fields: title, health, due
limit: 5
sort: due asc
query: type = Issue AND group = "gitlab-org" AND assignee = currentUser() AND state = opened
```

이 소스는 아래와 같은 목록을 렌더링해야 합니다:

현재 사용자에게 할당된 이슈 목록이 있는 임베드된 뷰

페이지네이션#

히스토리

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

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

필드 함수#

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

커스텀 필드 별칭#

히스토리

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

```glql
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 열이 있는 뷰를 표시합니다.

뷰 액션#

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

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

지원되는 액션:

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

고급 검색 통합#

히스토리
  • 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을 사용합니다.