검색어 언어

검색어 언어는 Google Issue Tracker에서 문제 검색을 실행하는 데 사용하는 구문입니다. 검색창에 입력하는 검색어에 해당 언어를 사용할 수 있습니다 검색 빌더를 사용하여 기준을 그래픽으로 선택한 다음 검색 빌더가 닫힐 때 쿼리 언어로 변환될 수도 있습니다.

쿼리 언어를 사용하면 다음 기준으로 검색할 수 있습니다.

  • 키워드
  • 필드/값 쌍

검색에는 키워드와 필드/값 쌍의 조합을 비롯한 여러 기준이 포함될 수 있습니다. 쿼리 언어 구문을 사용하면 논리 연산자, 괄호, 따옴표를 사용하여 기준을 고려하는 관계와 순서를 지정할 수 있습니다.

키워드 검색

키워드는 문제의 특정 필드를 검색하는 데 사용할 수 있는 텍스트 문자열입니다. 이러한 필드는 다음과 같습니다.

  • 제목
  • 설명
  • 첨부파일 이름
  • 사용자가 포함된 필드 (예: 담당자 또는 참조)
  • 내부 ID 번호가 포함된 필드 (예: 문제가 포함된 구성요소 또는 핫리스트를 지정하는 필드)
  • 버전 번호가 포함된 필드
  • 맞춤 필드

키워드 검색 기준의 예로는 configuration properties 문자열이 있습니다. 검색에 이 기준을 입력하면 Issue Tracker가 모든 구성요소의 문제를 전역적으로 검색하고 액세스 제어 권한에 따라 위 필드에 두 키워드가 모두 포함된 문제를 반환합니다. 키워드는 다른 필드 또는 동일한 필드에 있을 수 있습니다.

Issue Tracker는 검색 기준을 구분하는 공백 문자를 암시적 AND 연산자로 취급합니다. 따옴표 (")를 사용하여 여러 단어로 된 문자열을 단일 키워드로 간주하도록 지정할 수 있습니다. Issue Tracker의 모든 검색은 따옴표 사용 여부와 관계없이 대소문자를 구분하지 않습니다.

필드/값 쌍 검색

검색 기준을 필드/값 쌍으로 지정할 수도 있습니다. 기본 구문은 [field]:[value]입니다. 텍스트 필드의 경우 이 구문은 지정된 필드에 값이 포함된 문제와 일치합니다. 다른 유형의 필드는 필드 값이 등가인 문제와 일치합니다.

예를 들어 title:latency를 검색하면 제목 필드의 latency 단어와 일치하는 문제가 발생합니다. priority:p0를 검색하면 우선순위가 p0인 문제를 찾습니다.

시간 및 개수 필드의 경우 콜론 문자 외에도 다른 관계 기호를 사용할 수 있습니다. 아래 관계 연산자를 참조하세요.

any and none을 사용한 특수 값 검색

선택적 필드는 특수 값 anynone로 쿼리할 수 있습니다. 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:jimassignee:-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+10today-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를 사용하는 검색도 마찬가지입니다.