{"id":20694765,"url":"https://github.com/githubtoolbox/github-label-manager","last_synced_at":"2025-04-22T19:49:19.173Z","repository":{"id":58950352,"uuid":"534711826","full_name":"GitHubToolbox/github-label-manager","owner":"GitHubToolbox","description":"A tool for managing GitHub labels.","archived":false,"fork":false,"pushed_at":"2025-04-14T05:08:13.000Z","size":163,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-14T06:23:21.767Z","etag":null,"topics":["github","github-labels","wolfsoftware"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GitHubToolbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"ko_fi":"wolfsoftware","github":"tgwolf"}},"created_at":"2022-09-09T16:03:13.000Z","updated_at":"2025-04-14T05:08:16.000Z","dependencies_parsed_at":"2024-05-20T05:30:49.219Z","dependency_job_id":"91f596bb-6eab-4d9a-bb92-fa37b7be54fc","html_url":"https://github.com/GitHubToolbox/github-label-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitHubToolbox%2Fgithub-label-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitHubToolbox%2Fgithub-label-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitHubToolbox%2Fgithub-label-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GitHubToolbox%2Fgithub-label-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GitHubToolbox","download_url":"https://codeload.github.com/GitHubToolbox/github-label-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250313118,"owners_count":21410163,"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","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":["github","github-labels","wolfsoftware"],"created_at":"2024-11-17T00:06:23.401Z","updated_at":"2025-04-22T19:49:19.147Z","avatar_url":"https://github.com/GitHubToolbox.png","language":"Python","readme":"\u003c!-- markdownlint-disable --\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/\"\u003e\n        \u003cimg src=\"https://cdn.wolfsoftware.com/assets/images/github/organisations/githubtoolbox/black-and-white-circle-256.png\" alt=\"GitHubToolbox logo\" /\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/actions/workflows/cicd.yml\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/GitHubToolbox/github-label-manager/cicd.yml?branch=master\u0026label=build%20status\u0026style=for-the-badge\" alt=\"Github Build Status\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/blob/master/LICENSE.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/GitHubToolbox/github-label-manager?color=blue\u0026label=License\u0026style=for-the-badge\" alt=\"License\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/created-at/GitHubToolbox/github-label-manager?color=blue\u0026label=Created\u0026style=for-the-badge\" alt=\"Created\"\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/v/release/GitHubToolbox/github-label-manager?color=blue\u0026label=Latest%20Release\u0026style=for-the-badge\" alt=\"Release\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/release-date/GitHubToolbox/github-label-manager?color=blue\u0026label=Released\u0026style=for-the-badge\" alt=\"Released\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/releases/latest\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/commits-since/GitHubToolbox/github-label-manager/latest.svg?color=blue\u0026style=for-the-badge\" alt=\"Commits since release\"\u003e\n    \u003c/a\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/blob/master/.github/CODE_OF_CONDUCT.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Code%20of%20Conduct-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/blob/master/.github/CONTRIBUTING.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Contributing-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/blob/master/.github/SECURITY.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Report%20Security%20Concern-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/GitHubToolbox/github-label-manager/issues\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Get%20Support-blue?style=for-the-badge\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n## Overview\n\nThis script is designed to allow you to manage the labels on your GitHub repositories. Labels are used\nto categorize issues, pull requests, and discussions.\n\nKeeping all your labels consistent makes it easier to work across multiple repositories (and organisations)\n\nWe currently manage over 100 repositories across more than 15 organisations so it is important to reduce\nany friction when moving between project to deal with issues pr pull requests.\n\nTo get you started we have also included a copy of the config that we use for all of the repositories we manage,\nyou can find that in the [config](config) directory. In there you will find a copy of the labels in both\n[JSON](config/labels.json) and [YAML](config/labels.yml) format.\n\n## Command Line Usage\n\n```shell\nusage: github-label-manager [-h] [-d] [-v] [-j | -y] [-t TOKEN] -f FILENAME [-u USER | -o ORG | -r REPO]\n\nSetup labels on git repository.\n\nflags:\n  -h, --help            show this help message and exit.\n  -d, --dry-run         Perform a dry run (default: False)\n  -v, --validate        Validate local labels (default: False)\n\nmutually exclusive flags:\n  -j, --json            JSON formatted config file (default: True)\n  -y, --yaml            YAML formatted config file (default: False)\n\nselective:\n  -t TOKEN, --token TOKEN\n                        GitHub token (needed for everything except -v/--validate) (default: None)\n\nrequired:\n  -f FILENAME, --filename FILENAME\n                        File containing labels (default: None)\n\nmutually exclusive:\n  -u USER, --user USER  Specify username (default: None)\n  -o ORG, --org ORG     Specify organization (default: None)\n  -r REPO, --repo REPO  Specify repository (default: None)\n```\n\n## Examples\n\n### Validate the labels config file\n```shell\n$ github-label-manager -f config/labels.json -v\n```\n\n### Update a specific repository\n\n```shell\n$ github-label-manager -f config/labels.json -t \u003cPAT\u003e -r \u003cRepository\u003e\n```\n\u003e Repository is in the format of organization/repo_full_name E.g. GitHubToolbox/github-label-manager\n\n### Update all repositories for a given organization\n```shell\n$ github-label-manager -f config/labels.json -t \u003cPAT\u003e -o \u003cOrganisation\u003e\n```\n\n### Update all repositories for a given user\n```shell\n$ github-label-manager -f config/labels.json -t \u003cPAT\u003e -u \u003cusername\u003e\n```\n\n### Dry Runs\nYou can add a -d/--dry-run to any of the 3 examples above and it will show you the changes it **would** make.\n\n## Personal Access Tokens (PAT)\n\nYou will need to [create a PAT](https://github.com/settings/tokens) with enough permissions to be able to update the repository labels.\n\n\u003cbr /\u003e\n\u003cp align=\"right\"\u003e\u003ca href=\"https://wolfsoftware.com/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Created%20by%20Wolf%20on%20behalf%20of%20Wolf%20Software-blue?style=for-the-badge\" /\u003e\u003c/a\u003e\u003c/p\u003e\n","funding_links":["https://ko-fi.com/wolfsoftware","https://github.com/sponsors/tgwolf"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubtoolbox%2Fgithub-label-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithubtoolbox%2Fgithub-label-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithubtoolbox%2Fgithub-label-manager/lists"}