페이지 트리

이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 35 다음 »

 

[Jira] JQL 활용하여 Jira에서 고급 검색하기

  



JQL 개념


JQL은 Jira Query Language의 약자로 Jira에서 좀더 디테일하게 이슈를 찾기 위해 사용할 수 있는 방법입니다. 기본 검색으로 찾지 못하는 복잡한 검색을 JQL을 사용해서 검색할 수 있습니다. 



JQL 사용하기 


1. 상단 메뉴에서 Issues > Search for issues 를 클릭합니다.


2. 검색 아이콘 우측에 Advanced 를 클릭합니다.


3. 입력창에 JQL 구문을 넣고 Enter를 치면 검색결과가 출력됩니다.


JQL 기본 문법


1. JQL 구조

JQL은 필드, 연산자, 값, 키워드로 구성되어 있습니다. 이 조합을 여러번 사용하여 강력한 검색 조건을 만들 수 있습니다.



2. JQL 구성 요소

① 필드

  • JIRA 필드 또는 JIRA에서 정의된 사용자 정의 필드 입니다. 이슈에 대한 여러가지 정보를 담고 있습니다.
  • 각 필드별로 사용할 수 있는 연산자와 함수가 있으며 자세한 사항은 링크 참조 바랍니다.


② 연산자

  • 왼쪽에 있는 필드를 오른쪽에 있는 필드의 하나 이상의 값과 비교하여 검색되도록 합니다.


 연산자

설명 

 =

지정된 값과 정확하게 일치하는 이슈를 검색

 !=

지정된 값과 일치하지 않는 이슈를 검색

 >

지정된 값보다 큰 이슈를 검색

 <

지정된 값보다 작은 이슈를 검색

 >=

지정된 값보다 크거나 같은 이슈를 검색

 <=

지정된 값보다 작거나 같은 이슈를 검색

 ~

입력한 텍스트(단어)가 포함되는 이슈를 검색

 !~

입력한 텍스트(단어)가 포함되지 않는 이슈를 검색 

 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 문은 괄호를 사용하여 연산자의 우선순위를 적용 할 수 있습니다. 괄호를 사용하지 않는다면 쿼리문은 왼쪽에서 오른쪽으로 순차적으로 실행됩니다.



예약어 및 예약문자


JQL은 예약어 및 예약문자가 있으며 쿼리에서 이를 사용하려면 아래와 같이 처리해야 합니다. 

  • 따옴표(큰따옴표, 작은따옴표 모두 가능)를 사용하여 예약어 및 예약문자를 둘러 쌉니다. 
  • 예제 : Summry ~ "[example]"


1. 예약문자

space (" ")

+

.

,

;

?

|

*

/

%

^

$

#

@

[

]


2. 예약어

"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 기본 예제입니다.


1.  '폴라리스 오피스' 프로젝트에서 상태가 'In Progress' 인 이슈 검색

project = 폴라리스 오피스 AND status = "In Progress"

  • 레이블 없음