JQL 이란?
JQL이란 Jira Query Language 로 좀더 강력하고 유연하게 이슈를 찾기 위해 사용할 수 있는 방법입니다. 기본 검색으로 검색하지 못하는 복잡한 검색을 JQL을 사용해서 검색할 수 있습니다.
JQL 사용하기
1. GNB에서 Issues > Search for issues 를 클릭합니다.
2. 검색 아이콘 우측에 Advanced 를 클릭합니다.
3. 입력창에 JQL 구문을 넣고 Enter를 치면 검색결과가 출력됩니다.
JQL 기본 문법
JQL 구조
필드
연산자
연산자 |
설명 |
= |
지정된 값과 정확하게 일치하는 이슈를 검색 |
!= |
지정된 값과 일치하지 않는 이슈를 검색 |
> |
지정된 값보다 큰 이슈를 검색 |
< |
지정된 값보다 작은 이슈를 검색 |
>= |
지정된 값보다 크거나 같은 이슈를 검색 |
<= |
지정된 값보다 작거나 같은 이슈를 검색 |
~ |
입력한 텍스트(단어)가 포함되는 이슈를 검색 |
!~ |
입력한 텍스트(단어)가 포함되지 않는 이슈를 검색 |
IN |
다수의 지정된 값에 포함되는 이슈를 검색 |
NOT IN |
다수의 지정된 값에 포함되지 않는 이슈를 검색 |
IS |
지정된 필드에 값이 없는 이슈를 검색 (EMPTY, NULL 키워드와 함께 사용) |
IS NOT |
지정된 필드에 값이 있는 이슈를 검색 (EMPTY, NULL 키워드와 함께 사용) |
WAS |
지정된 필드의 값이 현재나 과거에 있었던 이슈를 검색 |
WAS IN |
다수의 지정된 필드의 값이 현재나 과거에 있었던 이슈를 검색 |
WAS NOT IN |
다수의 지정된 필드의 값이 현재나 과거에 없었던 이슈를 검색 |
WAS NOT |
지정된 필드의 값이 현재나 과거에 없었던 이슈를 검색 |
CHANGED |
지정된 필드의 값이 변경된 이슈를 검색 |
값
키워드
키워드 |
설명 |
AND |
여러개 쿼리문의 조건이 모두 일치하는 이슈를 검색 |
OR |
여러개 쿼리문의 조건 중 하나라도 일치하는 이슈를 검색 |
NOT |
쿼리문의 조건에 해당하지 않는 이슈를 검색 |
EMPTY |
지정된 필드의 값이 없는 이슈를 검색 |
NULL |
지정된 필드의 값이 없는 이슈를 검색 |
ORDER BY |
검색결과를 지정된 필드로 정렬 |
검색 우선순위 지정
복잡한 JQL 문은 괄호를 사용하여 연산자의 우선순위를 적용 할 수 있습니다. 괄호를 사용하지 않는다면 쿼리문은 왼쪽에서 오른쪽으로 순차적으로 실행됩니다.
예약어 및 예약문자
space (" ") |
+ |
. |
, |
; |
? |
| |
* |
/ |
% |
^ |
$ |
# |
@ |
[ |
] |
"abort", "access", "add", "after", "alias", "all", "alter", "and", "any", "as", "asc", "audit", "avg", "before", "begin", "between", "boolean", "break", "by", "byte", "catch", "cf", "char", "character", "check", "checkpoint", "collate", "collation", "column", "commit", "connect", "continue", "count", "create", "current", "date", "decimal", "declare", "decrement", "default", "defaults", "define", "delete", "delimiter", "desc", "difference", "distinct", "divide", "do", "double", "drop", "else", "empty", "encoding", "end", "equals", "escape", "exclusive", "exec", "execute", "exists", "explain", "false", "fetch", "file", "field", "first", "float", "for", "from", "function", "go", "goto", "grant", "greater", "group", "having", "identified", "if", "immediate", "in", "increment", "index", "initial", "inner", "inout", "input", "insert", "int", "integer", "intersect", "intersection", "into", "is", "isempty", "isnull", "join", "last", "left", "less", "like", "limit", "lock", "long", "max", "min", "minus", "mode", "modify", "modulo", "more", "multiply", "next", "noaudit", "not", "notin", "nowait", "null", "number", "object", "of", "on", "option", "or", "order", "outer", "output", "power", "previous", "prior", "privileges", "public", "raise", "raw", "remainder", "rename", "resource", "return", "returns", "revoke", "right", "row", "rowid", "rownum", "rows", "select", "session", "set", "share", "size", "sqrt", "start", "strict", "string", "subtract", "sum", "synonym", "table", "then", "to", "trans", "transaction", "trigger", "true", "uid", "union", "unique", "update", "user", "validate", "values", "view", "when", "whenever", "where", "while", "with"
JQL 기본 예제
위에서 설명한 내용으로 기본적으로 사용할 수 있는 JQL 기본 예제입니다.
'인프라웨어테크놀러지' 프로젝트에서 상태가 'In Progress' 인 이슈 검색
project = 인프라웨어테크놀러지 AND status = "In Progress"
첨부파일이 있는 이슈 검색
attachments IS NOT EMPTY
이슈 댓글에 "처리 되었습니다."가 포함된 이슈 검색
comment ~ "\"처리 되었습니다.\""
이슈 생성 날짜가 2018-12-13 이전에 생성된 이슈 검색
created <
"2018-12-13"
컴포넌트가 '컴포넌트1'이거나 '컴포넌트2'인 이슈 검색
component in (컴포넌트1, 컴포넌트2)
assignee가 변경된 이슈 검색
assignee CHANGED
assingee가 '김철수' 였던 이슈 검색
assignee WAS 김철수
duedate가 설정되지 않은 이슈를 검색하여 생성일, 우선순위 순으로 정렬
duedate = empty order by created, priority asc
JQL 실무 예제
status was (“In Progress”) DURING (startofweek(), endofweek());
resolution changed to “Fixed”
'인프라웨어' 프로젝트에서 김철수가 상태를 'In Progress'에서 'Resolved'로 변경한 이슈 검색
project = 인프라웨어 AND status CHANGED FROM “In Progress” TO “Resolved” BY 김철수
'인프라웨어' 프로젝트에서 생성된지 2주가 지난 이슈 중 우선순위가 'blocker'나 'critical'인 이슈를 검색해서 생성일 역순으로 정렬
project = 인프라웨어 AND priority in (blocker, critical) AND created > -2w ORDER BY created DESC
예상된 작업시간보다 오버된 이슈 (Time Tracking과 Worklog 사용 시)
workRatio > 100
내가 지난 1주 동안 본 이슈
lastViewd > "-1w"
특정필터에 있는 이슈 중 나에게 할당된 이슈
filter = "Test Filter" AND assignee = currentUser()
TIP
Address서울특별시 금천구 가산디지털1로 19 대륭테크노타운 18차 19층
Phone02-6190-7513
E-mail AtlassianBiz@polarisoffice.com
Homepage partner.polarisofficecorp.com/atlassian/
'Solution > JIRA' 카테고리의 다른 글
Jira Software Dashboard 활용 및 Dashboard Gadget 추천 (0) | 2018.12.06 |
---|---|
JIRA 한글 메뉴얼 (0) | 2018.08.10 |
[JIRA] JIRA Add-on 개발 (0) | 2018.07.19 |
[JIRA] JIRA Software VS. JIRA Core VS. JIRA Service Desk (0) | 2018.06.26 |
[JIRA] Custom Field 에 Help Tip 넣는 방법 (0) | 2018.06.25 |
댓글