{"id":13529430,"url":"https://github.com/micnncim/action-label-syncer","last_synced_at":"2025-04-05T09:08:58.118Z","repository":{"id":36507601,"uuid":"214834296","full_name":"micnncim/action-label-syncer","owner":"micnncim","description":"GitHub Action to sync GitHub labels in the declarative way","archived":false,"fork":false,"pushed_at":"2023-06-22T14:11:49.000Z","size":232,"stargazers_count":197,"open_issues_count":20,"forks_count":31,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-29T16:59:00.763Z","etag":null,"topics":["actions","automation","github","github-actions","labels","manifest","sync-github-labels"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/label-syncer","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/micnncim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-10-13T14:25:41.000Z","updated_at":"2024-09-24T02:25:06.000Z","dependencies_parsed_at":"2024-01-10T23:02:19.579Z","dependency_job_id":"df9f0efd-faa4-4a92-bd79-c63af22bea3b","html_url":"https://github.com/micnncim/action-label-syncer","commit_stats":{"total_commits":46,"total_committers":9,"mean_commits":5.111111111111111,"dds":"0.28260869565217395","last_synced_commit":"3abd5ab72fda571e69fffd97bd4e0033dd5f495c"},"previous_names":["micnncim/action-labels"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micnncim%2Faction-label-syncer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micnncim%2Faction-label-syncer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micnncim%2Faction-label-syncer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/micnncim%2Faction-label-syncer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/micnncim","download_url":"https://codeload.github.com/micnncim/action-label-syncer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247153384,"owners_count":20892650,"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":["actions","automation","github","github-actions","labels","manifest","sync-github-labels"],"created_at":"2024-08-01T07:00:36.239Z","updated_at":"2025-04-05T09:08:57.627Z","avatar_url":"https://github.com/micnncim.png","language":"Go","funding_links":[],"categories":["Go","Community Resources","四、社区明星工具（提升效率神器）"],"sub_categories":["GitHub Tools and Management","3. 编程语言环境配置"],"readme":"![logo](docs/assets/logo.png)\n\n[![actions-workflow-test][actions-workflow-test-badge]][actions-workflow-test]\n[![actions-marketplace][actions-marketplace-badge]][actions-marketplace]\n[![release][release-badge]][release]\n[![pkg.go.dev][pkg.go.dev-badge]][pkg.go.dev]\n[![dependabot][dependabot-badge]][dependabot]\n[![license][license-badge]][license]\n\nGitHub Actions workflow to sync GitHub labels in the declarative way.\n\nBy using this workflow, you can sync current labels with labels configured in a YAML manifest.\n\n## Usage\n\n### Create YAML manifest of GitHub labels\n\n```yaml\n- name: bug\n  description: Something isn't working\n  color: d73a4a\n- name: documentation\n  description: Improvements or additions to documentation\n  color: 0075ca\n- name: duplicate\n  description: This issue or pull request already exists\n  color: cfd3d7\n```\n\n![](docs/assets/screenshot.png)\n\nThe default file path is `.github/labels.yml`, but you can specify any file path with `jobs.\u003cjob_id\u003e.steps.with.manifest`.\n\nTo create manifest of the current labels easily, using [label-exporter](https://github.com/micnncim/label-exporter) is recommended.\n\n### Create Workflow\n\nAn example workflow is here.\n\n```yaml\nname: Sync labels\non:\n  push:\n    branches:\n      - master\n    paths:\n      - path/to/manifest/labels.yml\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: micnncim/action-label-syncer@v1\n        env:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        with:\n          manifest: path/to/manifest/labels.yml\n```\n\nIf a label color or description changes, the same label is updated with the new color or description. If a label name changes, the previous label is deleted by default.\nAlso all existing labels which not listed in `manifest` will be deleted by default.\nAll issues and PRs that were previously labeled with this label are now unlabeled.\n\nYou can add `jobs.\u003cjob_id\u003e.steps.with.prune: false` in order to preserver all existing labels which is not mentioned in `manifest`, in this case when a label will be renamed old label will be not deleted.\n\n## Sync labels on another repository\n\nIt is also possible to specify a repository or repositories as an input to the action. This is useful if you want to store your labels somewhere centrally and modify multiple repository labels.\n\n**Note: The default `GITHUB_TOKEN` will not have permissions to operate on other repositories so you must specify a personal access token in your secrets.**\n\n```yaml\nname: Sync labels\non:\n  push:\n    branches:\n      - master\n    paths:\n      - path/to/manifest/labels.yml\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: micnncim/action-label-syncer@v1\n        with:\n          manifest: path/to/manifest/labels.yml\n          repository: |\n              owner/repository-1\n              owner/repository-2\n          token: ${{ secrets.PERSONAL_TOKEN }}\n```\n\n## Project using action-label-syncer\n\n- [cloudalchemy/ansible-prometheus](https://github.com/cloudalchemy/ansible-prometheus)\n- [cloudalchemy/ansible-grafana](https://github.com/cloudalchemy/ansible-grafana)\n- [cloudalchemy/ansible-node-exporter](https://github.com/cloudalchemy/ansible-node-exporter)\n- [cloudalchemy/ansible-fluentd](https://github.com/cloudalchemy/ansible-fluentd)\n- [cloudalchemy/ansible-alertmanager](https://github.com/cloudalchemy/ansible-alertmanager)\n- [cloudalchemy/ansible-blackbox-exporter](https://github.com/cloudalchemy/ansible-blackbox-exporter)\n- [cloudalchemy/ansible-pushgateway](https://github.com/cloudalchemy/ansible-pushgateway)\n- [cloudalchemy/ansible-coredns](https://github.com/cloudalchemy/ansible-coredns)\n- [sagebind/isahc](https://github.com/sagebind/isahc)\n- [JulienBreux/baleia](https://github.com/JulienBreux/baleia)\n- [Simplify4U](https://github.com/s4u)\n- [Poeschl's Home Assistant Addons](https://github.com/Poeschl/Hassio-Addons)\n- [The Guild - Master Labels](https://github.com/the-guild-org/shared-resources)\n- [The Guild - GraphQL Codegen](https://github.com/dotansimha/graphql-code-generator)\n- [The Guild - GraphQL ESLint](https://github.com/dotansimha/graphql-eslint)\n- [The Guild - Apollo Angular](https://github.com/kamilkisiela/apollo-angular)\n- [The Guild - GraphQL Config](https://github.com/kamilkisiela/graphql-config)\n- [The Guild - GraphQL Mesh](https://github.com/Urigo/graphql-mesh)\n- [The Guild - GraphQL Modules](https://github.com/Urigo/graphql-modules)\n- [The Guild - GraphQL Inspector](https://github.com/kamilkisiela/graphql-inspector)\n- [The Guild - GraphQL Tools](https://github.com/ardatan/graphql-tools)\n- [The Guild - GraphQL Scalars](https://github.com/Urigo/graphql-scalars)\n- [The Guild - Whatsapp Clone](https://github.com/Urigo/WhatsApp-Clone-Tutorial)\n- [The Guild - GraphQL CLI](https://github.com/Urigo/graphql-cli)\n- [The Guild - SOFA](https://github.com/Urigo/SOFA)\n\nIf you're using `action-label-syncer` in your project, please send a PR to list your project!\n\n## See also\n\n- [Prow](https://github.com/kubernetes/test-infra/tree/master/prow)\n- [actions/labeler](https://github.com/actions/labeler)\n- [lannonbr/issue-label-manager-action](https://github.com/lannonbr/issue-label-manager-action)\n- [b4b4r07/github-labeler](https://github.com/b4b4r07/github-labeler)\n\n## Note\n\n_Icon made by bqlqn from [www.flaticon.com](https://www.flaticon.com)_\n\n\u003c!-- badge links --\u003e\n\n[actions-workflow-test]: https://github.com/micnncim/action-label-syncer/actions?query=workflow%3ACI\n[actions-workflow-test-badge]: https://img.shields.io/github/workflow/status/micnncim/action-label-syncer/CI?label=CI\u0026style=for-the-badge\u0026logo=github\n[actions-marketplace]: https://github.com/marketplace/actions/label-syncer\n[actions-marketplace-badge]: https://img.shields.io/badge/marketplace-label%20syncer-blue?style=for-the-badge\u0026logo=github\n[release]: https://github.com/micnncim/action-label-syncer/releases\n[release-badge]: https://img.shields.io/github/v/release/micnncim/action-label-syncer?style=for-the-badge\u0026logo=github\n[pkg.go.dev]: https://pkg.go.dev/github.com/micnncim/action-label-syncer?tab=overview\n[pkg.go.dev-badge]: https://img.shields.io/badge/pkg.go.dev-reference-02ABD7?style=for-the-badge\u0026logoWidth=25\u0026logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijg1IDU1IDEyMCAxMjAiPjxwYXRoIGZpbGw9IiMwMEFERDgiIGQ9Ik00MC4yIDEwMS4xYy0uNCAwLS41LS4yLS4zLS41bDIuMS0yLjdjLjItLjMuNy0uNSAxLjEtLjVoMzUuN2MuNCAwIC41LjMuMy42bC0xLjcgMi42Yy0uMi4zLS43LjYtMSAuNmwtMzYuMi0uMXptLTE1LjEgOS4yYy0uNCAwLS41LS4yLS4zLS41bDIuMS0yLjdjLjItLjMuNy0uNSAxLjEtLjVoNDUuNmMuNCAwIC42LjMuNS42bC0uOCAyLjRjLS4xLjQtLjUuNi0uOS42bC00Ny4zLjF6bTI0LjIgOS4yYy0uNCAwLS41LS4zLS4zLS42bDEuNC0yLjVjLjItLjMuNi0uNiAxLS42aDIwYy40IDAgLjYuMy42LjdsLS4yIDIuNGMwIC40LS40LjctLjcuN2wtMjEuOC0uMXptMTAzLjgtMjAuMmMtNi4zIDEuNi0xMC42IDIuOC0xNi44IDQuNC0xLjUuNC0xLjYuNS0yLjktMS0xLjUtMS43LTIuNi0yLjgtNC43LTMuOC02LjMtMy4xLTEyLjQtMi4yLTE4LjEgMS41LTYuOCA0LjQtMTAuMyAxMC45LTEwLjIgMTkgLjEgOCA1LjYgMTQuNiAxMy41IDE1LjcgNi44LjkgMTIuNS0xLjUgMTctNi42LjktMS4xIDEuNy0yLjMgMi43LTMuN2gtMTkuM2MtMi4xIDAtMi42LTEuMy0xLjktMyAxLjMtMy4xIDMuNy04LjMgNS4xLTEwLjkuMy0uNiAxLTEuNiAyLjUtMS42aDM2LjRjLS4yIDIuNy0uMiA1LjQtLjYgOC4xLTEuMSA3LjItMy44IDEzLjgtOC4yIDE5LjYtNy4yIDkuNS0xNi42IDE1LjQtMjguNSAxNy05LjggMS4zLTE4LjktLjYtMjYuOS02LjYtNy40LTUuNi0xMS42LTEzLTEyLjctMjIuMi0xLjMtMTAuOSAxLjktMjAuNyA4LjUtMjkuMyA3LjEtOS4zIDE2LjUtMTUuMiAyOC0xNy4zIDkuNC0xLjcgMTguNC0uNiAyNi41IDQuOSA1LjMgMy41IDkuMSA4LjMgMTEuNiAxNC4xLjYuOS4yIDEuNC0xIDEuN3oiLz48cGF0aCBmaWxsPSIjMDBBREQ4IiBkPSJNMTg2LjIgMTU0LjZjLTkuMS0uMi0xNy40LTIuOC0yNC40LTguOC01LjktNS4xLTkuNi0xMS42LTEwLjgtMTkuMy0xLjgtMTEuMyAxLjMtMjEuMyA4LjEtMzAuMiA3LjMtOS42IDE2LjEtMTQuNiAyOC0xNi43IDEwLjItMS44IDE5LjgtLjggMjguNSA1LjEgNy45IDUuNCAxMi44IDEyLjcgMTQuMSAyMi4zIDEuNyAxMy41LTIuMiAyNC41LTExLjUgMzMuOS02LjYgNi43LTE0LjcgMTAuOS0yNCAxMi44LTIuNy41LTUuNC42LTggLjl6bTIzLjgtNDAuNGMtLjEtMS4zLS4xLTIuMy0uMy0zLjMtMS44LTkuOS0xMC45LTE1LjUtMjAuNC0xMy4zLTkuMyAyLjEtMTUuMyA4LTE3LjUgMTcuNC0xLjggNy44IDIgMTUuNyA5LjIgMTguOSA1LjUgMi40IDExIDIuMSAxNi4zLS42IDcuOS00LjEgMTIuMi0xMC41IDEyLjctMTkuMXoiLz48L3N2Zz4=\n[dependabot]: https://github.com/micnncim/action-label-syncer/pulls?q=is:pr%20author:app/dependabot-preview\n[dependabot-badge]: https://img.shields.io/badge/dependabot-enabled-blue?style=for-the-badge\u0026logo=dependabot\n[license]: LICENSE\n[license-badge]: https://img.shields.io/github/license/micnncim/action-label-syncer?style=for-the-badge\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicnncim%2Faction-label-syncer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicnncim%2Faction-label-syncer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicnncim%2Faction-label-syncer/lists"}