Jira Query Language (JQL)는, 마치 SQL처럼, Jira에서 이슈를 검색하고 필터링하기 위한 강력하고 유연한 쿼리 언어입니다. JQL을 사용하면 기본 검색 기능보다 더 복잡하고 세밀한 조건으로 이슈를 찾을 수 있으며, 프로젝트 관리와 보고에 필요한 다양한 정보를 효율적으로 추출할 수 있습니다.
JQL은 SQL(Structured Query Language)과 유사한 구문을 사용하지만, Jira의 이슈 및 필드 구조에 맞게 설계되었습니다. 이를 통해 사용자는 자신만의 맞춤형 쿼리를 작성하여 특정 조건에 부합하는 이슈를 검색하고, 이러한 쿼리를 필터로 저장하여 재사용하거나 다른 팀원들과 공유할 수 있습니다.
고급 검색을 이용하면 JQL로 쿼리를 만들어 프로젝트 내부 및 여러 프로젝트간 이슈를 검색할 수 있습니다. 해당 결과를 저장하여 Jira에서 필터로 사용하거나 이를 기반으로 별도의 보드를 생성하는 것도 가능합니다.
필드(Field): 이슈의 속성을 나타내는 요소로, 프로젝트, 상태, 우선순위, 담당자 등 다양한 필드가 있습니다.
연산자(Operator): 필드와 값을 비교하거나 논리적 관계를 나타내는 기호입니다. 예를 들어, =
, !=
, IN
, AND
, OR
등이 있습니다.
값(Value): 필드에 할당되는 실제 데이터로, 특정 프로젝트 이름이나 사용자 이름 등이 될 수 있습니다.
함수(Function): 현재 사용자나 현재 날짜 등 동적인 값을 반환하는 기능입니다. 예를 들어, currentUser()
, now()
등이 있습니다.
키워드(Keyword): 쿼리의 구조를 정의하는 예약어로, ORDER BY
, GROUP BY
등이 있습니다.
프로젝트 관리에서는 복잡한 조건으로 이슈를 검색해야 하는 상황이 빈번합니다. JQL은 이러한 요구 사항을 충족시키기 위해 다음과 같은 이점을 제공합니다.
세밀한 검색 조건 설정: 기본 검색으로는 불가능한 복잡한 조건을 조합하여 원하는 이슈를 정확하게 찾을 수 있습니다.
맞춤형 필터 생성: 작성한 JQL 쿼리를 필터로 저장하여 재사용하거나 팀과 공유할 수 있습니다.
보고서 및 대시보드 강화: JQL을 활용한 필터를 대시보드 가젯이나 보고서에 적용하여 원하는 데이터를 시각화할 수 있습니다.
자동화 및 통합: JQL은 Jira 자동화 규칙이나 외부 도구와의 통합에서도 사용되어 워크플로를 자동화하고 효율성을 높입니다.
JQL은 앞서 언급한 대로 필드, 연산자, 값, 함수, 키워드의 조합으로 이루어집니다.
예를 들어 쿼리의 일부를 아래와 같이 구성할 수 있습니다.
project = "ABC"
: 프로젝트가 "ABC"인 이슈를 찾습니다.
status != "완료"
: 상태가 "완료"가 아닌 이슈를 찾습니다.
assignee IN (currentUser(), "홍길동")
: 담당자가 현재 사용자이거나 "홍길동"인 이슈를 찾습니다.
복수의 조건을 결합하여 더욱 복잡한 쿼리를 작성할 수 있습니다.
condition1 AND condition2 condition1 OR condition2 |
지난 7일 이내에 업데이트된 이슈를 찾습니다.
updated >= -7d |
Epic의 링크가 ABC-123
인 이슈를 찾습니다.
"Epic Link" = ABC-123 |
이슈 유형이 버그이며, 우선순위가 높거나 매우 높고, 해결되지 않은 이슈를 찾습니다.
issuetype = Bug AND priority IN (Highest, High) AND resolution = Unresolved |
JQL 검색을 기반으로 사용자 지정 위젯을 만들고 대시보드에 표시하여 여러 프로젝트에서 작업을 더 쉽게 추적하고 모니터링할 수 있습니다.
아래 내용은 회사에서 관리하는 프로젝트 유형을 기준으로 작성되었습니다. |
사이드바의 이슈로 이동합니다.
JQL 쿼리를 작성합니다.
(이슈) 내보내기 드롭다운을 선택합니다.
대시보드 가젯 만들기를 선택합니다.
결과 필터링(또는 다른 시각화 옵션)을 선택합니다.
대시보드에 저장을 선택하여 가젯을 추가합니다(기본적으로 개인 대시보드에 추가됨).