개요
GitHub
에서 Pull request
의 Labels
기능을 사용하여 Pull request
를 관리합니다.
이번 블로그 포스트에서는 GitHub Actions
중 하나인 PR Labels Checker
를 사용하여 Pull request
의 Labels
를 검사하는 방법에 대해서 알아보겠습니다.
블로그 시리즈
이 블로그는 시리즈로 제작되었습니다. 다음 링크를 통해 다른 블로그 포스트도 확인해 보시기 바랍니다.
- [GitHub Actions] Pull request 제목 검사
- [GitHub Actions] Release notes 자동화
- [GitHub Actions] Pull request의 라벨 검사
PR Labels Checker
PR Labels Checker
는 GitHub Actions
중 하나로, Pull request
의 Labels
를 검사하는 기능을 제공하고 있습니다.
GitHub Actions 작성
PR Labels Checker
를 사용하여 Pull request
의 Labels
를 검사하는 GitHub Actions
를 작성해 보겠습니다. .github/workflows/pr-labels-checker.yml
파일을 만들고 다음과 같이 수정합니다.
name: PR Labels Checker
on:
push:
branches:
- main
pull_request:
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
jobs:
pr_labels_checker:
permissions:
pull-requests: write
checks: write
runs-on: ubuntu-latest
steps:
- uses: danielchabr/[email protected]
with:
hasSome: breaking change,feature,bug,style,refactor,test,chore,docs,ci,dependencies
githubToken: $
이 GitHub Actions
는 Pull request
가 생성되거나 Pull request
의 Label
을 추가, 해제할 때, 실행됩니다.
on:
push:
branches:
- main
pull_request:
types:
- opened
- reopened
- synchronize
- labeled
- unlabeled
PR Labels Checker
를 사용하기 위해서는 Pull request
와 checks
에 대한 권한이 필요합니다.
jobs:
pr_labels_checker:
permissions:
pull-requests: write
checks: write
이제 PR Labels Checker
를 사용하여 Pull request
의 Label
을 검사합니다. Label
을 검사할 때는 다음과 같은 조건을 사용할 수 있습니다.
- hasSome: 콤마로 구분된 Label 리스트로, PR은 이 중 하나를 반드시 포함해야 합니다.
- hasAll: 콤마로 구분된 Label 리스트로, PR은 이 리스트 모두 포함해야 합니다.
- hasNone: 콤마로 구분된 Label 리스트로, PR은 이 리스트중 그 어떤 것도 포함해서는 안됩니다.
- hasNotAll: 콤마로 구분된 Label 리스트로, PR은 이 리스트 모두를 포함해서는 안됩니다.
이번 블로그 포스트에서는 hasSome
조건을 사용하였습니다.
hasSome: breaking change,feature,bug,style,refactor,test,chore,docs,ci,dependencies
조건에 포함된 Label
들은 Release notes 자동화
하기 위해 필요한 리스트입니다. 자세한 내용은 다음 링크를 참고하시기 바랍니다.
PR Labels Checker
는 GitHub Actions
에서 Pull request
의 Label
을 검사하기 위해 GitHub Token
을 사용합니다. 따라서 다음과 같이 GITHUB_TOKEN
을 설정해야 합니다.
githubToken: $
Release Drafter
저는 Release notes
의 자동화를 위해 Release Drafter
를 사용하고 있습니다. Release Drafter
는 Pull request
의 Labels
를 사용하여 Release notes
를 자동으로 작성합니다. 또한, Pull request
의 제목을 보고 자동으로 Labels
를 설정하는 기능도 가지고 있습니다.
그래서 Pull request
의 Labels
가 중요하며, Release Drafter
가 자동으로 설정해 주지만, 이를 확실하게 하기 위해 PR Labels Checker
를 사용하여 Pull request
의 Labels
를 다시 한번 검사하고 있습니다.
이를 위한 GitHub Actions
와 다음과 같습니다.
name: Release Drafter
on:
push:
branches:
- main
pull_request:
types:
- opened
- reopened
- synchronize
permissions:
contents: read
jobs:
update_release_draft:
permissions:
contents: write
pull-requests: write
checks: write
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: $
- uses: danielchabr/[email protected]
with:
hasSome: breaking change,feature,bug,style,refactor,test,chore,docs,ci,dependencies
githubToken: $
Release Drafter
를 사용하여 Pull request
에 자동으로 Labels
를 설정하고, 자동으로 설정된 Pull request
의 Labels
를 PR Labels Checker
를 사용하여 다시 한번 검사하도록 했습니다.
Release Drafter
에 관한 자세한 내용은 다음 링크를 참고하시기 바랍니다.
완료
이것으로 GitHub Actions
의 PR Labels Checker
를 사용하여 Pull request
의 Labels
를 검사하는 방법에 대해서 알아보았습니다.
Pull request
를 Labels
를 사용하여 관리하는 경우나, 저처럼 Release notes
를 자동화하기 위해 Release Drafter
를 사용하는 분들은 PR Labels Checker
도입을 고려해 보시기 바랍니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.