검색어 언어는 Google Issue Tracker에서 문제 검색을 실행하는 데 사용하는 구문입니다. 검색창에 입력하는 검색어에 해당 언어를 사용할 수 있습니다 검색 빌더를 사용하여 기준을 그래픽으로 선택한 다음 검색 빌더가 닫힐 때 쿼리 언어로 변환될 수도 있습니다.
쿼리 언어를 사용하면 다음 기준으로 검색할 수 있습니다.
- 키워드
- 필드/값 쌍
검색에는 키워드와 필드/값 쌍의 조합을 비롯한 여러 기준이 포함될 수 있습니다. 쿼리 언어 구문을 사용하면 논리 연산자, 괄호, 따옴표를 사용하여 기준을 고려하는 관계와 순서를 지정할 수 있습니다.
키워드 검색
키워드는 문제의 특정 필드를 검색하는 데 사용할 수 있는 텍스트 문자열입니다. 이러한 필드는 다음과 같습니다.
- 제목
- 설명
- 첨부파일 이름
- 사용자가 포함된 필드 (예: 담당자 또는 참조)
- 내부 ID 번호가 포함된 필드 (예: 문제가 포함된 구성요소 또는 핫리스트를 지정하는 필드)
- 버전 번호가 포함된 필드
- 맞춤 필드
키워드 검색 기준의 예로는 configuration properties
문자열이 있습니다.
검색에 이 기준을 입력하면 Issue Tracker가 모든 구성요소의 문제를 전역적으로 검색하고 액세스 제어 권한에 따라 위 필드에 두 키워드가 모두 포함된 문제를 반환합니다. 키워드는 다른 필드 또는 동일한 필드에 있을 수 있습니다.
Issue Tracker는 검색 기준을 구분하는 공백 문자를 암시적 AND
연산자로 취급합니다. 따옴표 ("
)를 사용하여 여러 단어로 된 문자열을 단일 키워드로 간주하도록 지정할 수 있습니다. Issue Tracker의 모든 검색은 따옴표 사용 여부와 관계없이 대소문자를 구분하지 않습니다.
필드/값 쌍 검색
검색 기준을 필드/값 쌍으로 지정할 수도 있습니다. 기본 구문은 [field]:[value]
입니다. 텍스트 필드의 경우 이 구문은 지정된 필드에 값이 포함된 문제와 일치합니다. 다른 유형의 필드는 필드 값이 등가인 문제와 일치합니다.
예를 들어 title:latency
를 검색하면 제목 필드의 latency
단어와 일치하는 문제가 발생합니다. priority:p0
를 검색하면 우선순위가 p0
인 문제를 찾습니다.
시간 및 개수 필드의 경우 콜론 문자 외에도 다른 관계 기호를 사용할 수 있습니다. 아래 관계 연산자를 참조하세요.
any and none을 사용한 특수 값 검색
선택적 필드는 특수 값 any
및 none
로 쿼리할 수 있습니다. any
는 null이 아닌 모든 값과 일치합니다. none
는 null 값과 일치합니다. 검색어 언어로 지원되는 모든 필드 라벨 목록은 검색어 참조를 확인하세요.
논리 연산자
논리 연산자를 사용하면 기준을 2개 이상 지정하고 기준 간의 관계를 나타낼 수 있습니다. 위에서 설명한 것처럼 따옴표 밖의 공백 문자는 암시적 AND
연산자 역할을 합니다. Issue Tracker는 다음과 같은 명시적 논리 연산자를 추가로 지원합니다.
운영자 | 대체 기호 | 설명 | 예 |
---|---|---|---|
AND | {whitespace} | 문제에 두 기준이 모두 포함된 경우 일치 | star:true AND componentid:46046 |
OR | | | 문제에 다음 기준 중 하나가 포함된 경우 일치 | type:(Bug|feature_request) |
마세요 | - | 문제에 기준이 포함되지 않은 경우 일치 | -assignee:jim |
"..." | 문제에 인용된 구문이 포함된 경우 일치 (인용문에 포함된 단어가 동일한 순서로 표시됨) | comment:"We have a problem" |
|
( ) | 값 또는 검색 기준을 그룹화 | status:open AND (priority:(p0|p1) OR severity:(s0|s1)) |
다음에 유의하세요.
AND
,OR
,NOT
는 모두 대문자로 입력해야 합니다.NOT
연산자는 필드 이름 앞에 나오든 필드 값 앞에 와도 동일한 의미를 가집니다. 즉,-assignee:jim
와assignee:-jim
는 동일합니다.검색어의 단어를 명확하게 그룹화하려면 괄호를 자유롭게 사용합니다. 기본적으로 Issue Tracker는
NOT
를 바로 뒤에 오는 용어에만 연결하고OR
를 괄호로 묶는 두 용어로 그룹화합니다. 예를 들어 검색어title:(a OR b NOT c AND d)
는title:((a OR b) AND (NOT c) AND d)
와 동일합니다.
대시
대시 문자 (-
)는 검색어의 문맥에 따라 다른 의미를 가집니다.
Issue Tracker는 검색에서 단어 앞의 대시를
NOT
연산자로 취급합니다. 예를 들어 검색 기준-assignee:none
또는assignee:-none
는 할당된 문제가 있는 모든 문제를 반환합니다.Issue Tracker는 대시 문자로 연결된 문자열을 따옴표로 묶은 것으로 처리합니다. 예를 들어 검색 기준
state-of-the-art
는"state of the art"
와 같습니다.Issue Tracker는 문제 필드의 하이픈으로 연결된 단어를 공백으로 구분된 독립 단어로 취급합니다. 즉, 문제 제목에
state-of-the-art
라는 단어가 포함되어 있고 개발자가title:(of art state the)
또는title:("state of the art")
검색어를 실행하면 문제가 검색결과의 일부로 반환됩니다.
관계 연산자
필드/값 검색 기준의 기본 구문은 [field]:[value]
이며, 여기서 콜론 문자 (:
)는 문제가 검색결과에 반환되려면 지정된 필드가 지정된 값과 같거나 이를 포함해야 함을 지정합니다.
시간 값 (created
, modified
, resolved
, verified
, 특정 커스텀 필드) 또는 개수 값 (duplicatecount
, votecount
, commentcount
, cccount
)이 포함된 필드는 다음과 같은 추가 관계 연산자를 지원합니다.
기호 | 설명 |
---|---|
< | 값이 검색 값보다 작거나 이전이면 문제가 있는 것입니다. |
<= | 그 값이 검색 값보다 작거나 같거나 같으면 문제가 있는 것입니다. |
> | 값이 검색 값보다 크거나 검색 값보다 큰 경우 문제와 일치합니다. |
>= | 값이 검색 값보다 크거나 같거나 그 이후인 경우 문제가 발생합니다. |
시간 검색
검색어 언어는 시간 값이 포함된 필드를 일치시키기 위한 특수 구문을 제공합니다. 이렇게 하면 Issue Tracker가 필요에 따라 일정 기간 또는 상대적 시간을 검색할 수 있습니다.
절대 시간 형식
시간을 지정하는 형식은 다음과 같습니다.
[yyyy]-[MM]-[dd]T[HH]:[mm]:[ss]
.
이 형식에서 [yyyy]
는 4자리 연도, [MM]
은 2자리 월, [dd]
은 2자리 일, [HH]
는 24시간 기준의 2자리 시간, [mm]
는 분, [ss]
는 초입니다. 모든 시간은 UTC 기준입니다.
특정 시간 또는 그 이전 또는 이후에 발생한 문제를 검색할 때 원하는 구체적인 수준을 제공할 수 있습니다. 예를 들어 created:2014-06
를 지정하면 2014년 6월에 생성된 문제를 찾을 수 있습니다. 좀 더 구체적으로 created:2014-06-03T04
를 검색하여 2014년 6월 3일 4시간 (UTC 기준 오전 4시~오전 5시)에 생성된 문제를 찾을 수 있습니다.
기간
마침표 두 개 (..
)를 사용하여 필드/값 검색 기준의 기간을 지정할 수 있습니다. 구문은 [field]:[start time]..[end time]
입니다. 시작 및 종료 시간은 어느 정도의 특정성이 필요할 수 있습니다. 예를 들어 verified:2013..2015
는 2013, 2014, 2015년에 확인된 모든 문제를 반환합니다.
상대 시간 형식
오늘 이전 날짜로 시간을 지정할 수도 있습니다. 이렇게 하려면 [days]d
형식을 사용합니다. 여기서 [days]
는 검색 결과에 포함하려는 지난 일 수입니다. 예를 들어 modified:5d
를 사용하여 지난 5일 동안 수정된 문제를 찾을 수 있습니다.
상대 시간 형식을 사용하는 경우 연산자는 created:5d
와 같이 콜론 문자(:
)여야 합니다. 범위에 속하지 않는 문제를 찾으려면 NOT
또는 -
연산자를 사용하면 됩니다.
예를 들어 -verified:10d
는 지난 10일 동안 확인되지 않은 문제를 반환합니다. 확인되었지만 지난 10일 이내에는 발생하지 않은 문제를 찾으려면 (-verified:10d) AND status:verified
를 사용하면 됩니다.
일 연산이 포함된 '오늘' 검색
시간 검색에서 현재 날짜 대신 today
토큰을 사용할 수 있습니다. today+10
및 today-2
와 같은 일 산술 사용을 지원합니다.
today
토큰은 today-2..today+3
와 같은 기간에도 사용할 수 있습니다.
저장된 검색에 today
토큰을 사용하면 쿼리를 재사용할 수 있습니다.
예:
created:today
modified<=today-10
nearestslo:today+10
resolved:2024-02-29..today+2
customfield1002:today..today+5
주의: 절대 시간 형식에서 언급했듯이 Issue Tracker의 시간 검색은 UTC 형식입니다. today
를 사용하는 검색도 마찬가지입니다.