A GitHub Action that automatically labels pull requests based on changed file paths or branch names.
Pull Request Labeler is a GitHub Action that automatically applies labels to pull requests based on configurable rules. It analyzes the changed files or branch names in a pull request and assigns relevant labels, helping teams categorize and manage code reviews and project tracking more efficiently.
Development teams and open-source maintainers using GitHub who want to automate project management tasks and maintain organized pull request workflows.
It is the official, highly configurable GitHub Action for labeling, offering precise control over matching logic and performance optimizations for large repositories, directly integrating into the GitHub ecosystem.
An action for automatically labelling pull requests
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Developed and maintained by GitHub, ensuring seamless compatibility with the platform and reliable updates, as emphasized in the README's philosophy of being a highly configurable automation tool.
Supports complex boolean conditions (any/all) with glob patterns for file paths and regex for branch names, allowing precise label rules like combining multiple criteria for fine-grained control.
Includes configurable limits such as max-files-changed and changed-files-labels-limit to handle large PRs efficiently, preventing label spam in tree-wide refactors as documented in the configuration options.
The sync-labels input can automatically remove labels when conditions change, maintaining accuracy over the PR lifecycle without manual intervention, which reduces maintenance effort.
The YAML structure for match objects with nested any/all logic and multiple glob options (e.g., any-glob-to-any-file) is intricate and error-prone, requiring a steep learning curve for advanced use cases.
To label PRs from forks, it necessitates using pull_request_target, which the README warns can be dangerous if misused, introducing potential security vulnerabilities and requiring careful workflow design.
Major version upgrades like V5 and V6 introduced breaking changes, such as configuration file restructuring and Node.js runtime updates, forcing teams to adapt and potentially disrupting existing workflows.