概要
GitHub
でPull request
のLabels
機能を使ってPull request
を管理します。
このブログポストでは、GitHub Actions
の 1 つである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
の 1 つで、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
のLabels
をチェックします。Label
をチェックするときは次のような条件を使うことができます。
- hasSome: カンマで区切られた Label リストで、PR はこの中の 1 つを必ず含める必要があります。
- 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 自動化
のために必要なリストです。詳細は次のリンクを参照してください。
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で開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。