본문 바로가기
[개발] Programming/Tools

깃허브에 소스 리뷰어(auto assign) 설정하는 방법 2가지 - CODEOWNERS, auto_assign

by eatyourKimchi 2020. 9. 5.

 

Github auto assign (Reviewer)

 

 깃을 사용하다 보면 최종적으로 PR을 수락하는 사람은 자주 변하지 않죠. 그러다 보니 PR 요청할 때마다 assigner를 추가하는데, 간단하긴 하지만 이 반복적인 작업을 자동으로 설정할 수 있는 방법이 있습니다. 게다가 동시에 여러 명이나 그룹 별로 관리할 수 있으니 장기적으로는 설정해 놓는 게 편리합니다.

 

 

 

01 간단한 건 CODEOWNERS

 

1. Create .github/CODEOWNERS in your repository

 

딱 한 단계, 위 경로로 파일을 생성한 뒤에 아래 내용처럼 입력하면 쉽게 끝납니다. 아래 예시에는 설명이 좀 많은데 다 코멘트이고 사용할 때 아래와 같이 하면 됩니다.

 

# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.

# These owners will be the default owners for everything in the repo.
*       @defunkt

# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners
# will be requested to review.
*.js    @octocat @github/js

# You can also use email addresses if you prefer.
docs/*  docs@example.com

 

 

예1, 모든 파일에 대해 jay에게 확인받기

엄청 간단하죠? *의 이미는 다 아실 거고 @ 뒤에는 이름을 입력하면 됩니다.

* @jay

 

 

예2, 모든 js 파일에 대해 jay와 kim에게 확인받기

마찬가지로 매우 간단하게 아래와 같이 선언하면 바로 적용됩니다.

깃허브 아이디도 사용 가능하지만, 이메일로도 할 수 있죠.

*.js @jay kim@naver.com

 

 

 

02 상세 설정은 auto_assign.yml

 

1. Go to auto-assign app page

2. Add to GitHub

3. Please choose a repository

4. Create .github/auto_assign.yml in your repository

 

간단하게 정리하면 auto-assign 페이지에 접속하여 앱을 깃허브에 설치한 뒤, 본인의 깃 저장소를 선택하고 '.github/auto_assign.yml' 파일을 생성하고 아래 내용을 입력하면 됩니다.

 

# Set to true to add reviewers to pull requests
addReviewers: true

# Set to true to add assignees to pull requests
addAssignees: true

# A list of reviewers to be added to pull requests (GitHub user name)
reviewers: 
  - reviewerA
  - reviewerB
  - reviewerC

# A list of keywords to be skipped the process that add reviewers if pull requests include it 
skipKeywords:
  - wip

# A number of reviewers added to the pull request
# Set 0 to add all the reviewers (default: 0)
numberOfReviewers: 0

 

 

 

03 주의사항

 

 유저명을 입력했는데도 작동하지 않을 경우 별명도 같이 입력해 보세요. 예를 들어 깃허브 개인 설정을 봤을 때 깃허브 아이디가 있고 깃허브에서 사용할 이름을 설정했다면, 둘 다 입력해보면 동작할 수 있습니다.

 

그리고 assigner를 입력하면 PR 할 때 바로 보이지는 않습니다. 이는 권한자를 삭제하지 못하도록 그러는 것 같습니다. PR을 올리고 나면 다음 화면에서는 적용이 된 걸 볼 수 있으며, 이제 approve 하지 않으면 merge를 할 수 없습니다.

 

 

 

댓글