{"id":18310890,"url":"https://github.com/jimschubert/labeler","last_synced_at":"2026-02-13T04:59:54.719Z","repository":{"id":57521494,"uuid":"252334332","full_name":"jimschubert/labeler","owner":"jimschubert","description":"A command line utility for labeling GitHub issues and pull requests","archived":false,"fork":false,"pushed_at":"2025-06-19T20:07:05.000Z","size":185,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-19T20:19:56.121Z","etag":null,"topics":["hacktoberfest","labeler","labeler-action"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/jimschubert/labeler","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimschubert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"jimschubert","patreon":"jimschubert"}},"created_at":"2020-04-02T02:18:46.000Z","updated_at":"2025-06-19T20:06:03.000Z","dependencies_parsed_at":"2025-06-08T01:18:17.292Z","dependency_job_id":"68f434e1-720f-44ca-ac23-7d738e6020b2","html_url":"https://github.com/jimschubert/labeler","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/jimschubert/labeler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Flabeler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Flabeler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Flabeler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Flabeler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimschubert","download_url":"https://codeload.github.com/jimschubert/labeler/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimschubert%2Flabeler/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271395178,"owners_count":24752061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","labeler","labeler-action"],"created_at":"2024-11-05T16:15:48.252Z","updated_at":"2026-01-04T02:17:20.342Z","avatar_url":"https://github.com/jimschubert.png","language":"Go","funding_links":["https://github.com/sponsors/jimschubert","https://patreon.com/jimschubert"],"categories":[],"sub_categories":[],"readme":"# labeler\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fjimschubert%2Flabeler.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fjimschubert%2Flabeler?ref=badge_shield)\n\n\nA labeler for GitHub issues and pull requests.\n\n```bash\nA labeler for GitHub issues and pull requests.\n\nUsage:\n  labeler [flags]\n\nFlags:\n      --config-path string   A custom config path, relative to the repository root\n      --data string          A JSON string of the 'event' type (issue event or pull request event)\n      --fields strings       Fields to evaluate for labeling (title, body) (default [title,body])\n  -h, --help                 help for labeler\n      --id int               The integer id of the issue or pull request\n  -o, --owner string         GitHub Owner/Org name [GITHUB_ACTOR]\n  -r, --repo string          GitHub Repo name [GITHUB_REPO]\n  -t, --type string          The target event type to label (issues or pull_request) [GITHUB_EVENT_NAME]\n  -v, --version              version for labeler\n\n```\n\nExample usage:\n```bash\nexport GITHUB_TOKEN=yourtoken\n./labeler -o jimschubert -r labeler --type pull_request --id 1\n```\n\nThis will evaluate the configuration file for the repository and apply any relevant labels to PR #1.\n\n## Configuration\n\nThe configuration file must be located in the target repository at `.github/labeler.yml` by default, and the contents must follow either the *simple* schema or the *full* schema.\n\nThe configuration file location can be modified by passing a different path to `--config-path`. This path must be relative to the repository root. All of the following would be valid possible customizations (assuming you've created a configuration file at that location):\n\n* `.github/labeler-custom.yml`\n* `tools/labeler.yml`\n* `.labeler.yml`\n\nFeel free to use one of the following schema examples to get started. \n\n### Simple Schema\n\n```yaml\n# labeler \"simple\" schema\n# Comment is applied to both issues and pull requests.\n# If you need a more robust solution, consider the \"full\" schema.\ncomment: |\n  👍 Thanks for this!\n  🏷 I have applied any labels matching special text in your issue.\n\n  Please review the labels and make any necessary changes.\n\n# Labels is an object where:\n# - keys are labels\n# - values are array of string patterns to match against title + body in issues/prs\nlabels:\n  'bug':\n    - '\\bbug[s]?\\b'\n  'help wanted':\n    - '\\bhelp( wanted)?\\b'\n  'duplicate':\n    - '\\bduplicate\\b'\n    - '\\bdupe\\b'\n  'enhancement':\n    - '\\benhancement\\b'\n  'question':\n    - '\\bquestion\\b'\n```\n\nNote that simple schema doesn't allow for some of the more advanced features of the full schema, such as excluding patterns or customizing comments for issues and pull requests. If you need those features, consider using the full schema.\n\n### Full Schema\n\n```yaml\n# labeler \"full\" schema\n\n# enable labeler on issues, prs, or both.\nenable:\n  issues: true\n  prs: true\n# comments object allows you to specify a different message for issues and prs\n\n# (Optional): Determine which fields of the issue or pull request to evaluate.\nfields:\n  - title\n  - body\n\ncomments:\n  issues: |\n    Thanks for opening this issue!\n    I have applied any labels matching special text in your title and description.\n\n    Please review the labels and make any necessary changes.\n  prs: |\n    Thanks for the contribution!\n    I have applied any labels matching special text in your title and description.\n\n    Please review the labels and make any necessary changes.\n\n# Labels is an object where:\n# - keys are labels\n# - values are objects of { include: [ pattern ], exclude: [ pattern ] }\n#    - pattern must be a valid regex, and is applied globally to\n#      title + description of issues and/or prs (see enabled config above)\n#    - 'include' patterns will associate a label if any of these patterns match\n#    - 'exclude' patterns will ignore this label if any of these patterns match\nlabels:\n  'bug':\n    include:\n      - '\\bbug[s]?\\b'\n    exclude: []\n  'help wanted':\n    include:\n      - '\\bhelp( me)?\\b'\n    exclude:\n      - '\\b\\[test(ing)?\\]\\b'\n  'enhancement':\n    include:\n      - '\\bfeat\\b'\n    exclude: []\n\n```\n\n## Build\n\nBuild a local distribution for evaluation using goreleaser.\n\n```bash\ngoreleaser release --skip-publish --snapshot --rm-dist\n```\n\nThis will create an executable application for your os/architecture under `dist`:\n\n```\ndist\n├── labeler_darwin_amd64_v1\n│   └── labeler\n├── labeler_darwin_arm64\n│   └── labeler\n├── labeler_linux_386\n│   └── labeler\n├── labeler_linux_amd64_v1\n│   └── labeler\n├── labeler_linux_arm64\n│   └── labeler\n├── labeler_linux_arm_6\n│   └── labeler\n├── labeler_windows_amd64_v1\n│   └── labeler.exe\n├── labeler_windows_arm64\n│   └── labeler.exe\n├── labeler_windows_arm_6\n│   └── labeler.exe\n```\n\n## License\n\nThe labeler project is licensed under Apache 2.0\n\n*labeler* is a rewrite of an earlier GitHub App I wrote (see [auto-labeler](https://github.com/jimschubert/auto-labeler)). I've rewritten that app to replace the license while making the tool reusable across CI tools and operating systems.\n\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fjimschubert%2Flabeler.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fjimschubert%2Flabeler?ref=badge_large)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimschubert%2Flabeler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimschubert%2Flabeler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimschubert%2Flabeler/lists"}