Git

GitHub - Auto Assign 사용하기

GREEN.1229 2024. 5. 31. 08:33

안녕하세요. 그린입니다 🍏

이번 포스팅에서는 GitHub에서 Auto Assign을 이용해보는 방법을 알아볼께요 🙋🏻

 

일반적으로 팀원들과 협업을 할 때, GitHub을 많이 이용하여 작업물을 PR(Pull Request)을 통해 리뷰를 요청하죠?

 

그럴때 아래와 같이 기본적으로는 이 리뷰어와 어싸인 섹션이 처음에는 비어있고, 직접 일일히 지정해줘야 합니다.

 

그런데, 이 리뷰어와 어싸인을 자동적으로 채워준다면 얼마나 편할까요?

만약 팀원이 많을 경우 일일히 지정하는것에서 빼먹을 수도 있고 귀찮잖아요!?

 

그래서 이번 포스팅에서는 이 작업을 Auto Assign을 이용해 아주 간단히 처리하는 방법에 대해 알아보겠습니다 😃

 


Auto Assign

가장 먼저 오토 어싸인을 설정 하기 위해 여러분들의 레포가 깃헙과 연동되있다는 가정하에 레포에서 숨김 파일을 본다면, 아래와 같이 .github 폴더가 존재할거에요.

 

 

이제 이 폴더 안에 오토어싸인을 설정할 yml 파일을 만들어줍니다.

파일명은 auto_assign으로 해야 합니다.

 

해당 파일에서 코드를 아래와 같이 입력해줘요.

 

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

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

# A list of reviewers to be added to pull requests (GitHub user name)
reviewers: 
  - GREEN
  - RED
  - BLUE
  - YELLOW

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

# A number of assignees to add to the pull request
# Set to 0 to add all of the assignees.
# Uses numberOfReviewers if unset.
numberOfAssignees: 1

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

 

addReviewers는 true로 해야 리뷰어가 자동 추가되고 마찬가지로, addAssignees를 본인 author로 하게 되면 PR을 올린 본인으로 어싸인이 등록되게 됩니다.

 

그리고, 팀원들을 reviewers에 넣어줍니다.

이때 팀원들의 깃헙 계정으로 기입해요.

 

또한, 추가할 리뷰어 수와 어싸인 수를 넣어주죠.

 

마지막으로, skipKeywords가 보이실텐데요.

가끔 테스트용으로 PR을 올려보고 할때도 자동으로 리뷰어가 등록되면 알림이 가기에, 불필요하겠죠?

 

그래서, PR 타이틀이나 본문에 해당 지정한 wip이라는 키워드가 포함되면 자동으로 리뷰어를 매칭해주는걸 스킵한다는 소리에요.

저기엔 다양하게 스킵할 키워드들을 넣어줄 수 있습니다!

 

이렇게 yml 파일을 만들어줬다면 다음으로 깃헙에서 작업을 해야 합니다.

만약 저렇게만 작업을 해놓는다면, 동작하지 않을거에요.

 

아래 깃헙 앱 중 auto-assign 앱이 존재해요.

 

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

저길 들어가시면 처음이라면, 저렇게 인스톨할 수 있도록 페이지가 나타납니다.

 

저기서 우리가 위에서 했던 과정들이 친절히 어떻게 하는것인지 나와있죠?

 

 

이제 Install을 누르면, 어디에 이 앱을 설치할지 나오게 됩니다.

즉, 소속이 여러개로 되어 있으면 선택하게 하죠.

 

 

선택을 하면 아래처럼 모든 레포에 적용시킬건지 묻습니다.

 

 

적용이 끝났다면 이렇게 Setting > Integrations > Applications 탭으로 가보면 오토 어싸인 앱이 등록된걸 볼 수 있어요.

 

 

이러면 이제 해당 본인의 레포에서는 auto_assign.yml 파일로 설정만 해놓는다면 해당 앱이 동작하여 정상적으로 오토 어싸인이 됩니다!

 

만약 앱을 등록하지 않고 사용하려면, 아래와 같이 간단히도 해볼 수 있어요.

 

우선, 처음 auto_assing.yml 파일을 만든것처럼 .github 폴더에서 workflows 폴더를 만듭니다.

그리고 액션을 돌려줄 yml 파일을 파일명을 자유롭게 하셔서 만듭니다.

그 내용은 아래와 같은 코드가 들어가요.

 

name: 'Auto Assign'
on:
  pull_request:
    types: [opened, ready_for_review]

jobs:
  add-reviews:
    runs-on: ubuntu-latest
    steps:
      - uses: kentaro-m/auto-assign-action@v2.0.0
        with:
          configuration-path: '.github/some_name_for_configs.yml' # Only needed if you use something other than .github/auto_assign.yml

 

PR의 타입으로 PR이 열리거나 리뷰준비가 되었을때로 지정합니다.

draft, reopened 등의 옵션도 있으니 필요하면 이용하셔도 좋습니다!

 

그리고 여기서 configuration-path에는 주석에도 친절히 나와있듯이 우리가 처음 만든 auto_assign.yml이 아닌 다른걸 이용할때만 사용하는것이고, 만약 처음 우리가 한것처럼 해당 파일로 이용한다면 설정할 필요가 없습니다.

 

즉, 생략하면 되겠죠?

 

이렇게 간단히 workflows에 해당 액션 파일만 추가함으로 앱 등록 없이도 할 수 있어요.

 

근데 사실 저는 앱 등록이 너무 편해서 저렇게 이용할것 같아요.

왜냐면, 한번 해당 오거나이제이션에 등록해두면 다른 레포를 팔때도 따로 또 workflows를 구축하지 않아도 선택적으로도 앱이 돌 레포를 선택하고 할 수 있으니 간편하다고 생각합니다.

 


마무리

이렇게 되게 간단하게 오토 어싸인 기능을 십분 활용하는 방법에 대해 알아봤습니다!

아주 간편하게 설정하고 편리하게 이용할 수 있겠죠? 😄

 


레퍼런스

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

GitHub - kentaro-m/auto-assign: 🤖 A Probot app that adds reviewers to pull requests when pull requests are opened.

🤖 A Probot app that adds reviewers to pull requests when pull requests are opened. - kentaro-m/auto-assign

github.com

 

Auto Assign Action - GitHub Marketplace

Add reviewers to pull requests when pull requests are opened

github.com