게임 QA를 위한 기초적인 지라 쿼리(Jira Query) 사용방법

 게임 QA를 하다 보면, BTS(bug tracking system)를 사용하게 됩니다.

채용공고에도 보시면, BTS 관리를 원한다는 글이 많죠.

혹시나, 모르시는 분들을 위해 풀어 설명하면, BTS는 버그 혹은 개선사항 등이 나오면, 그것을 개발자에게 전달하고, 관리하는 역할을 하는 도구입니다.

예전에는 BTS로 Mantis나 Redmine이라는 도구를 많이 사용했는데, 요새는 Jira로 통일하는 추세입니다.

이유는 jira는 BTS뿐 아니라, 협업도구 기능도 강력하기 때문에 개발팀, QA 모두 같이 사용하면 도구를 2개 사용하는 것보다 효율이 좋기 때문입니다.


JQL 기초 사용법

jira를 사용하다 보면, JQL이란 것을 사용하게 됩니다.

JQL은 jira의 쿼리언어로,  jira에서 조건에 맞는 issue를 찾아주는 역할을 담당하고 있습니다.

더 쉽게 풀이하면, jira에서 검색할 때 사용하는 언어입니다.


JQL 검색 시에는 크게 3가지를 아래와 같은 순서로 입력합니다.

1. 필드이름

2. 연산자

3. 필드값

예를 들면 아래와 같습니다.

project(필드이름) = (연산자) GameQA(필드값)


이를 해석하면 필드이름이 GameQa인 issue를 찾아라는 뜻입니다.

어떤가요? 쉽죠?

다른 연산자를 설명하겠습니다.


project != GameQA 

이 JQL은 필드이름이 GameQA가 아닌 issue를 찾는 JQL입니다.

!=는 "같지 않다"라는 의미입니다.

그런데, 이 두 개만으로는 내가 일한 내용을 찾기 힘들겠죠?

그래서, JQL은 복수의 JQL을 사용하여 검색할 수 있습니다.


JQL을 여러 개 사용하기 위해서는 AND, OR 같은 키워드라는 것이 필요합니다.

AND는 교집합을 OR는 합집합을 말합니다.

AND는 첫 번째 JQL을 검색 결과에서 다시 검색을 하는 것이고, OR는 JQL로 검색 결과과 OR 뒤에 오는 검색 결과를 포함하는 것입니다.


project = GameQA AND City = Seoul

GameQa 프로젝트 중 도시가 서울인 issue를 찾아라로 해석할 수 있습니다.

City 필드 이름은 jira에서 사용자가 추가한 필드입니다. (기본 필드가 아닌, Jira를 세팅한 사람이 추가한 필드)


project = GameQA or City = Seoul

GameQA 프로젝트와 도시가 서울인 issue를 찾아라로 해석할 수 있습니다.


Assignee 필드 설명

Assignee 은 jira의 필드 중 하나로,일반적으로 할당된 사람을 의미합니다.

Assignee = 나   이 내용은 나에게 일감이 할당되었다는 뜻입니다.

1편에서 예시를 그대로 이어서 설명하겠습니다.


project = GameQA AND City = Seoul AND Assignee = 나


위의 내용은 GameQA 프로젝트 중 City가 Seoul이면서, 나에게 할당된 이슈(일감)을 찾으라는 뜻입니다.

하지만, 이렇게 쿼리를 보내면 많은 이슈를 받게 됩니다.

너무 오래된 내용은 필요가 없는데, 최근의 내용만 보고 싶다면, 아래의 글을 보시면 됩니다.


날짜를 활용하는 방법

jira 필드 중 Created라는 필드가 있습니다.

이 필드는 일감을 만들었다는 의미로, 만든 날짜를 의미합니다.

"2021년 8월 15일 이후의 생성됨" 이라는 뜻하는 쿼리는 아래와 같습니다.

created > "2021-08-15"

">" 이 기호를 생각하면 2021년 8월 15일보다 큰 날짜라는 것을 알 수 있습니다.


그럼, Assignee 필드 설명 부분과 합쳐 보겠습니다.

project = GameQA AND City = Seoul AND Assignee = 나 AND created < "2021-08-15"

위의 내용은 GameQA 프로젝트 중 City가 Seoul이면서, 나에게 할당된 이슈(일감) 중 2021년 8월 15일 이전에 생성한 일감을 찾으라는 뜻입니다.


여기까지를 응용하면, 아래와 같이 일정 기간에 대해서 검색을 할 수 있습니다.

project = GameQA AND City = Seoul AND Assignee = 나 AND created < "2021-8-15" AND created > "2021-8-14"

이렇게 쿼리를 만들면, 8월 14일날 만든 일감만 찾을 수 있습니다.


text 옵션

text 옵션은 내가 원하는 텍스트가 포함된 일감을 찾는 옵션입니다.

예를 들면, "골키퍼 뒤로가기 버그"라는 내용이 들어간 일감을 찾고 싶으면, 쿼리에 text 기능을 이용하여 검색하면 됩니다.

text  ~  "골키퍼 뒤로가기 버그"

검색할 텍스트는 반드시 ""로 감싸야 합니다.


나에게 할당된 "골키퍼 뒤로가기 버그" 텍스트가 포함된 일감을 찾으려면, 아래의 쿼리를 사용하면 됩니다.

Assignee = 나 AND text  ~  "골키퍼 뒤로가기 버그"

text 옵션만 적절하게 사용하면, 어지간한 부분은 모두 해결이 가능할 것으로 보입니다.

아주 먼 기억 속의 그 일감~ text 옵션으로 찾으세요~


제목으로 이슈를 찾는 경우에는  text 대신 summary를 이용하며 제목에 있는 텍스트를 검색하여 찾을 수 있습니다.

text 옵션을 더 잘 사용하고 싶으신 분들은 Jira text fileds 문법 페이지를 방문하여, 좀 더 공부하시면 됩니다.

Labels 사용 방법

Labels도 text 옵션과 같이 일감을 쉽게 검색할 수 있게 만들어 주고, 일감의 구분을 심플하게 만듭니다.

Labels의 사용 예를 쉽게 설명하면, SNS에서 많이 사용하는 해시 태그(#)와 비슷한 개념입니다.

#맛집, #멋진사진 처럼 미리 Labels를 내가 원하는 이름으로 지정을 해놔야 합니다.

jira Labels
jira Labels

Labels는 분명히 편하지만, 남용하면 다시 정리를 해야 하는 상황이 올 수 있어, 되도록 장기적으로 가져가는 일감보다는 단기 기억용으로 사용하거나, 어쩔 수 없는 경우에 사용하는 것을 추천합니다.
Text 옵션과 합친 예시를 들면 아래와 같습니다.

Assignee = 나 AND text  ~  "골키퍼 뒤로가기 버그" AND Labels = GameQajobs


게임 QA를 위한 기초적인 지라 쿼리는 여기까지입니다.

짧은 내용이지만, 입문자분들에게 많은 도움이 되었기를 바랍니다.



댓글