요약
요약하자면, 최대 100개씩 검색이 한계이다.
대신, 검색 시작 지점을 지정할 수 있기 때문에,
100개 검색 - 101번째에서 또 100개 검색 - ... 을 반복하다가, 검색 결과 < 100 조건을 만족할 때 반복문을 끝내면 되는 것.
검색마다 result에 내용을 추가하면 된다.
지라 Rest API 사용한 검색의 문제점?
기본적으로 jql을 통해 서치를 진행하면, 결과물이 단 50개만 수신되는 것을 알 수 있다.
이때, api에서 'maxResults = 100'으로 파라미터를 설정해주면 딱 100개의 이슈 정보를 받아올 수 있는데, 101번째의 이슈는 물론 가져오지 못한다.
따라서, 100개 초과의 검색 결과를 온전히 가져오려면 페이지 인덱시을 통해 구간을 나누어 검색하는 방법이 필요하다.
파이썬의 JIRA 라이브러리를 활용하는 경우 아래와 같이 활용할 수 있는데, 지라에 직접 api 요청을 보내는 케이스에도 파라미터로 사용 가능한 것이니, rest 문서를 참고해서 진행하면 된다. (구조는 크게 다르지 않다.)
jql = 'assignee = 김철수'
start_at = 0
max_results = 100
search_list = []
while True:
# API
results = jira.search_issues(jql, startAt=start_at, maxResults=max_results)
# search list에 이슈 추가
search_list.extend(results)
# 다음 페이지
start_at += max_results
# 마지막 페이지임을 체크하여 종료
if len(results) < max_results:
break
위와 같이 검색을 진행하면, 100개를 초과하는 결과를 모두 받아와 저장할 수 있다.
이 방법을 알기 전에는 API로 검색한 결과를 수정하고.. 를 반복해야 하는 경우, 레이블을 추가하거나 해서, 다시 반복될 jql에는 잡히지 않도록 하는 귀찮은 편법을 사용했었다.
지라 API도 활용하기에 따라서, 이슈 관리나 정리에 큰 도움이 되는데 국내에서 사용 관련 정보는 상당히 없는 편이어서...
가끔가다 생각이 나거나, 진짜 꿀팁같은 것은 때때로 정리해야겠다.
(관련해서 질문이 있다면 댓글로 얼마든 문의해주세요)
'게임 커리어 관련 > 지라, 컨플루언스 관리' 카테고리의 다른 글
[지라] 지라 클라우드 처음부터 구축하기 - 아틀라시안 사이트 생성 (2) | 2024.10.22 |
---|