ライブラリ / SDK
actions/labeler avatar
actions/labeler

actions/labeler v7の.github/labeler.ymlマッチ構造

プル リクエストに自動的にラベルを付けるアクション。 V7 での変更点 最新の @actions/* パッケージ バージョンをサポートするために、内部的に ESM に移行されました。

スター 2,497フォーク 491TypeScriptMIT
GitHub

ひと目でわかる

これは何?
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どおり確かめてください。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート