GitHub PR 목록 페이지 개편 정식 적용 — AND·OR 고급 검색 문법과 달라진 점
GitHub 저장소의 Pull requests 탭 목록 화면이 새로 바뀌었다. 9월 10일 공개 프리뷰를 거쳐 9월 21일 모든 GitHub 사용자에게 정식(GA) 적용됐다. 핵심은 검색이다. 필터를 AND·OR로 엮고 괄호로 묶을 수 있게 됐고, 입력하는 동안 쓸 수 있는 조건을 자동으로 제안해 준다.
무엇이 바뀌었나
GA 공지 기준으로 정리하면 이렇다.
| 구분 | 내용 |
|---|---|
| 검색 | AND/OR 고급 검색, 괄호 중첩, 입력 중 필터 자동 제안(content assist) |
| 화면 | 접을 수 있는 사이드바("Authored by me", "Involves me" 같은 자주 쓰는 필터), 촘촘한 목록 보기 |
| 목록 표시 | 상태 체크 개수, 스택 표시, 읽지 않은 업데이트 표시 |
| 프리뷰 이후 추가 | 일괄 작업(닫기·라벨·마일스톤 변경 등), 마일스톤·연결된 이슈·작성자 배지, 리뷰 상태 클릭 필터 |
| 엔터프라이즈 | 기업에서 켜 둔 경우 전체 프로필 이름 표시 |
눈여겨볼 건 네 번째 줄이다. 프리뷰 때는 "마일스톤이 보이지 않음", "일괄 수정 불가"가 알려진 한계였다. 사용자 피드백을 받아 정식 버전에서 채운 기능이다. 반대로 프리뷰 때 안 된다고 했던 사용자 지정 뷰 저장은 GA 공지에서 언급이 없다. 아직 기대하지 않는 편이 맞다.
검색 문법, 이렇게 쓴다
이슈 검색에 먼저 들어왔던 고급 검색이 PR 목록에도 붙었다. 기존 한정어(is:pr, review:, label: 등)는 그대로 쓰고, 그 사이를 AND·OR로 잇는다. GitHub 문서에 나온 규칙은 이렇다.
- 공백은 AND로 취급한다:
label:"bug" author:octocat - OR는 대문자로:
review:approved OR review:none - 괄호로 묶기(최대 5단계):
(label:"bug" AND review:required) OR (label:"security" AND is:draft) - 빼기는
-:-author:dependabot - 라벨 여러 개 중 하나:
label:"bug","wip" - PR 전용 한정어:
review:changes_requested,review-requested:@me,status:failure,linked:issue,is:merged
같은 문법이 공개 REST 검색 API에서도 도는지 직접 확인해 봤다. cli/cli 저장소를 대상으로 인증 없이 호출했다(9월 29일, Docker의 curl 이미지). repo:cli/cli is:pr (label:bug OR label:enhancement)는 advanced_search=true 파라미터를 붙이면 26건이 나왔다. 파라미터 없이 OR를 쓰면 Validation Failed 오류가 났다. API로 이 문법을 쓸 땐 이 파라미터를 잊지 말자.
재미있는 결과도 하나 나왔다. 괄호 없이 is:open label:bug OR label:enhancement로 검색하자, is:open이 앞쪽 label:bug에만 붙은 것처럼 결과가 나왔다. AND가 OR보다 먼저 묶이는 것으로 보인다. 문서에 명시된 규칙은 아니다. 헷갈리면 괄호를 치는 게 가장 안전하다.
터미널에서 쓰는 사람이라면 GitHub CLI도 같은 검색을 받는다. 예를 들어 gh pr list --search "review:required -is:draft"처럼 쓴다.
옛 화면에 익숙한 팀이라면
프리뷰 기간에는 화면 위 Preview 배지를 누르고 "Switch back"을 골라 옛 목록으로 돌아갈 수 있었다. GA 공지에는 이 옵션이 남는지 나와 있지 않다. 되돌아가기에 기대기보다 새 검색 문법에 익숙해지는 쪽을 권한다.
확인하지 못한 부분도 있다. 목록 화면 단축키(U 작성자, L 라벨, M 마일스톤 등)와 예전 필터 URL 북마크가 새 화면에서도 그대로 도는지는 공지에 없다. 팀에서 북마크한 "리뷰 대기 PR" 링크가 있다면 한 번 열어 보자.
설치형 GitHub Enterprise Server(GHES)는 공지에 언급이 없다. 9월 8일 나온 GHES 3.22 릴리스 노트에도 새 목록 화면은 없다. GHES 사용자는 다음 버전 공지를 기다려야 한다. 개인적으로는 review-requested:@me -is:draft 한 줄만 손에 익혀 둬도, 매일 아침 리뷰할 PR을 찾는 시간이 확 줄어든다고 본다.