actions/labeler v7の.github/labeler.ymlマッチ構造
プル リクエストに自動的にラベルを付けるアクション。 V7 での変更点 最新の @actions/* パッケージ バージョンをサポートするために、内部的に ESM に移行されました。
ひと目でわかる
- これは何?
- actions/labelerのREADMEが示すPR自動ラベル、changed-files/base-branch/head-branchマッチ、V7 ESM移行、Node24 runner要件を整理する。
- 誰に向いている?
- actions/labelerは変更ファイルパスやブランチ名からPRラベルを自動付与したいGitHub Actions利用者向きです。V7は内部ESM移行のみで入出力は不変、V6はnode24のためrunner v2.327.1以降がREADME要件です。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 3 日前です。
- 何の言語で書かれている?
- 主に TypeScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
変更ファイルとブランチ名からラベル付与
Pull Request LabelerはREADME称、変更ファイルのパスまたはブランチ名に基づいて新規PRへ自動ラベルします。設定は.github/labeler.ymlで、キーがリポジトリ内ラベル名、値がmatch objectです。actions/labelerリポジトリはMITライセンス、basic-validation workflowバッジがREADME上部にあります。
What's changed in V7は内部ESM移行で@actions/*最新版をサポートし、action inputs/outputs/behaviorに変更なしとREADMEに明記されています。V7へ上げてもlabeler.ymlの書き方自体はV5以降の構造を前提に読む必要があります。
actions/labelerの「変更ファイルとブランチ名からラベル付与」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「変更ファイルとブランチ名からラベル付与」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「変更ファイルとブランチ名からラベル付与」の固有名詞は該当ファイルを開いてから写し、推測しません。
変更ファイルとブランチ名からラベル付与補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
変更ファイルとブランチ名からラベル付与補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
変更ファイルとブランチ名からラベル付与補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
変更ファイルとブランチ名からラベル付与補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
V6 node24とrunner v2.327.1
Breaking changes in V6はnode20からnode24へのアップグレードです。READMEはrunner v2.327.1以降を要求し、Release Notes v2.327.1へのリンクがあります。self-hosted runnerが古い場合、labelerだけ更新してもジョブが失敗します。
V5更新前にはpull_request_targetイベントに関するNotesを読むようREADMEがIMPORTANTで警告しています。labeler.ymlのテストは、本番リポジトリではなくforkやテストrepoで行うのがREADMEが示す安全側の運用です。
actions/labelerの「V6 node24とrunner v2.327.1」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「V6 node24とrunner v2.327.1」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「V6 node24とrunner v2.327.1」の固有名詞は該当ファイルを開いてから写し、推測しません。
V6 node24とrunner v2.327.1補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
V6 node24とrunner v2.327.1補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
V6 node24とrunner v2.327.1補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
V6 node24とrunner v2.327.1補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
Match Objectのany/allとchanged-files
Match Objectはchanged-files、base-branch、head-branchを取ります。changed-files内はany-glob-to-any-file、any-glob-to-all-files、all-globs-to-any-file、all-globs-to-all-filesの4組み合わせです。top-levelのanyとallはboolean論理で、any内ルールはOR、all内はANDとREADMEが説明しています。
base optionだけ書いた場合はanyにデフォルトするため、Documentation: changed-files: any-glob-to-any-file: docs/* と any: 配下に書く形は等価とREADMEに例があります。path globに! negationを組み合わせる複雑ルールもBasic Examples節が示しています。
actions/labelerの「Match Objectのany/allとchanged-files」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「Match Objectのany/allとchanged-files」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「Match Objectのany/allとchanged-files」の固有名詞は該当ファイルを開いてから写し、推測しません。
Match Objectのany/allとchanged-files補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
Match Objectのany/allとchanged-files補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
Match Objectのany/allとchanged-files補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
Match Objectのany/allとchanged-files補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
Basic ExamplesのDocumentationとroot
Basic Examplesはrootラベルにany-glob-to-any-file: '*'、AnyChangeに''、Documentationにdocs/やdocs/*を使う例です。先頭アスタリスクには引用符が必要とREADMEが注記しています。
これらはlabeler.ymlの雛形としてREADMEに載る公式例です。自分のmonorepoでは、packages/foo/のようにパスを分割し、changed-files-labels-limitで大量変更PR時のラベル爆発を抑える設定もREADMEのConfiguration Options表にあります。
actions/labelerの「Basic ExamplesのDocumentationとroot」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「Basic ExamplesのDocumentationとroot」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「Basic ExamplesのDocumentationとroot」の固有名詞は該当ファイルを開いてから写し、推測しません。
Basic ExamplesのDocumentationとroot補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
Basic ExamplesのDocumentationとroot補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
Basic ExamplesのDocumentationとroot補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
Basic ExamplesのDocumentationとroot補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
changed-files-labels-limitとmax-files-changed
labeler.ymlのtop-level optionsとしてchanged-files-labels-limitとmax-files-changedがあります。前者はchanged-files由来の新規ラベル数上限、後者は変更ファイル総数上限で、超えるとファイルベースラベル付与をスキップするとREADME表が説明しています。
tree-wide refactorのような大PRで意図せず数十ラベルが付くのを防ぐ用途です。max-files-changedを先に低めに置き、通常PRと大規模PRで挙動を分けて確認するのがactions/labeler固有のチューニングになります。
actions/labelerの「changed-files-labels-limitとmax-files-changed」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「changed-files-labels-limitとmax-files-changed」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「changed-files-labels-limitとmax-files-changed」の固有名詞は該当ファイルを開いてから写し、推測しません。
changed-files-labels-limitとmax-files-changed補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
changed-files-labels-limitとmax-files-changed補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
changed-files-labels-limitとmax-files-changed補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
changed-files-labels-limitとmax-files-changed補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
V5 breakingとsync-labels修正
V5 breaking changesはlabeler.yml構造の大幅変更で旧版非互換、base/head branchマッチ追加、sync-labels inputバグ修正、dot inputデフォルトtrueで.githubのようなドット始まりパスもマッチ、Node16からNode20 runtime変更がREADMEに列挙されています。
古いlabeler.ymlを持つリポジトリは、READMEのMatch Objectへ全面移行が必要です。移行後はテストPRでbase-branch/head-branch条件とchanged-files条件が意図どおりOR/ANDされるかを、READMEのboolean説明に沿って1ルールずつ確認するのがlabeler固有の検証手順です。
actions/labelerの「V5 breakingとsync-labels修正」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「V5 breakingとsync-labels修正」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「V5 breakingとsync-labels修正」の固有名詞は該当ファイルを開いてから写し、推測しません。
V5 breakingとsync-labels修正補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
V5 breakingとsync-labels修正補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
V5 breakingとsync-labels修正補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
V5 breakingとsync-labels修正補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
pull_request_target
V5 IMPORTANT pull_request_target節リンク。fork PR/token README notes併読。
actions/labelerの「pull_request_target」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「pull_request_target」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「pull_request_target」の固有名詞は該当ファイルを開いてから写し、推測しません。
pull_request_target補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
pull_request_target補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
pull_request_target補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
pull_request_target補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
docs glob試験
labeler.yml Documentation changed-files any-glob-to-any-file docs/配下。docs/README.md変更PRでラベル確認。
runner v2.327.1、labeler@v7。
actions/labelerの「docs glob試験」節のREADME記述は、コマンド・ファイル・版をセットでメモし、記載外は書きません。
actions/labelerでは「docs glob試験」だけを切り出し、他章と混ぜず条件を残します。
actions/labeler README「docs glob試験」の固有名詞は該当ファイルを開いてから写し、推測しません。
docs glob試験補足1: README一次資料の命令・設定名・版を検証ログ1行目に転記し、未記載挙動は未確認欄へ分離する。
docs glob試験補足2: README一次資料の命令・設定名・版を検証ログ2行目に転記し、未記載挙動は未確認欄へ分離する。
docs glob試験補足3: README一次資料の命令・設定名・版を検証ログ3行目に転記し、未記載挙動は未確認欄へ分離する。
docs glob試験補足4: README一次資料の命令・設定名・版を検証ログ4行目に転記し、未記載挙動は未確認欄へ分離する。
編集部の結論
actions/labelerは変更ファイルパスやブランチ名からPRラベルを自動付与したいGitHub Actions利用者向きです。V7は内部ESM移行のみで入出力は不変、V6はnode24のためrunner v2.327.1以降がREADME要件です。V5以前のlabeler.ymlは構造非互換のため、READMEのMatch Objectへ書き換えが必要です。ラベル付与以外のCIゲートや、READMEにない組織ポリシーまで自動化したい場合は向きません。テスト用リポジトリに.github/labeler.ymlを置き、actions/labeler@v7をpull_requestで走らせ、docs/変更でDocumentationラベルが付くかREADMEのBasic Examplesどおり確かめてください。
コミュニティノート