{"id":15022219,"url":"https://github.com/shresht7/label-sync-action","last_synced_at":"2026-02-09T18:05:49.174Z","repository":{"id":37934829,"uuid":"355778411","full_name":"Shresht7/label-sync-action","owner":"Shresht7","description":"GitHub Action to synchronize and manage your repository's labels 🏷","archived":false,"fork":false,"pushed_at":"2024-11-19T17:01:08.000Z","size":1811,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T06:17:59.058Z","etag":null,"topics":["github-actions","labels"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Shresht7.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-08T05:49:26.000Z","updated_at":"2024-09-12T18:47:51.000Z","dependencies_parsed_at":"2024-01-02T05:34:00.278Z","dependency_job_id":"e65d0ecb-038c-4c29-9f20-3972a848a18c","html_url":"https://github.com/Shresht7/label-sync-action","commit_stats":{"total_commits":204,"total_committers":5,"mean_commits":40.8,"dds":0.4362745098039216,"last_synced_commit":"4e8ac9368a93a03a651d73ccb65f779f75a5d9cb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shresht7%2Flabel-sync-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shresht7%2Flabel-sync-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shresht7%2Flabel-sync-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shresht7%2Flabel-sync-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shresht7","download_url":"https://codeload.github.com/Shresht7/label-sync-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525141,"owners_count":21118620,"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-actions","labels"],"created_at":"2024-09-24T19:57:39.513Z","updated_at":"2026-02-09T18:05:49.112Z","avatar_url":"https://github.com/Shresht7.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ========== --\u003e\n\u003c!-- LABEL SYNC --\u003e\n\u003c!-- ========== --\u003e\n\n\u003ch1 align='center'\u003eLabel Sync\u003c/h1\u003e\n\n\u003c!-- REPOSITORY BADGES --\u003e\n\u003c!-- ================= --\u003e\n\n\u003cdiv align='center'\u003e\n\n[![Release](https://img.shields.io/github/v/release/Shresht7/label-sync-action?style=for-the-badge)](https://github.com/Shresht7/label-sync-action/releases)\n[![License](https://img.shields.io/github/license/Shresht7/label-sync-action?style=for-the-badge)](./LICENSE)\n\n\u003c/div\u003e\n\n\u003c!-- DESCRIPTION --\u003e\n\u003c!-- =========== --\u003e\n\n\u003cp align='center'\u003e\n\u003c!-- slot: description --\u003e\nGitHub Action to create, update, and delete labels from your repository declaratively\n\u003c!-- /slot --\u003e\n\u003c/p\u003e\n\n\u003c!-- WORKFLOW BADGES --\u003e\n\u003c!-- =============== --\u003e\n\n\u003cdiv align='center'\u003e\n\n[![Test](https://github.com/Shresht7/label-sync-action/actions/workflows/test.yml/badge.svg)](https://github.com/Shresht7/label-sync-action/actions/workflows/test.yml)\n[![Validate](https://github.com/Shresht7/label-sync-action/actions/workflows/validate.yml/badge.svg)](https://github.com/Shresht7/label-sync-action/actions/workflows/validate.yml)\n[![Action Readme](https://github.com/Shresht7/label-sync-action/actions/workflows/action-readme.yml/badge.svg)](https://github.com/Shresht7/label-sync-action/actions/workflows/action-readme.yml)\n\n\u003c/div\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003c!-- ================= --\u003e\n\n\u003cdetails\u003e\n\n\u003csummary align='center'\u003eTable of Contents\u003c/summary\u003e\n\n- [📑 Permissions](#-permissions)\n- [📖 Usage](#-usage)\n  - [Example Config](#example-config)\n- [📋 Inputs](#-inputs)\n- [� License](#-license)\n\n\u003c/details\u003e\n\n---\n\nYou can _create_, _update_ and _delete_ labels declaratively by editing a config-file.\n\n## 📑 Permissions\n\nThis action needs the `GITHUB_TOKEN` secret to use the GitHub API in order to modify labels.\n\n## 📖 Usage\n\nCreate a workflow file (e.g. `.github/workflows/label-sync.yaml`) and configure the input parameters.\n\n\u003c!-- slot: example,   prepend: ```yaml, append: ``` --\u003e\n```yaml\n# ============================================\n#                   LABEL-SYNC\n# --------------------------------------------\n# GitHub Action to manage labels declaratively\n# ============================================\n\nname: Label Sync\n\n# Activation Events\n# =================\n\non:\n  # When .github/labels.yml changes are pushed to the default branch\n  push:\n    branches:\n      - main\n    paths:\n      - .github/labels.yml\n\n  # When a workflow event is dispatched manually\n  workflow_dispatch:\n\n# Jobs\n# ====\n\njobs:\n  label-sync:\n    runs-on: ubuntu-latest\n    name: Label Sync\n    steps:\n      # Actions/Checkout\n      # ================\n\n      - name: Checkout\n        uses: actions/checkout@v4\n\n      # Execute label-sync action\n      # =========================\n\n      - name: label-sync\n        uses: Shresht7/label-sync-action@main\n        id: label-sync\n        with:\n          dryrun: false # Will not make any actual changes if true (default: true)\n          create: true # If true, label-sync has permissions to create labels (default: true)\n          update: true # If true, label-sync has permissions to update labels (default: true)\n          delete: false # If true, label-sync has permissions to delete labels (default: false)\n        env:\n          # Needed to make use of the GitHub API to modify labels and update .github/labels.yml file\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n\n```\n\u003c!-- /slot --\u003e\n\n\u003e NOTE: Potential changes will only be logged if dry run is `true`. For label-sync to actually modify anything you will have to set `dryrun` to `false`.\n\n### Example Config\n\nThe config file (`.github/labels.yaml`) will look something like this:\n\n```yaml\n- name: bug\n  color: ee1111\n  description: Something isn't working\n\n- name: documentation\n  color: 0e8a16\n  description: Improvements or additions to the documentation\n\n- name: enhancement\n  color: a2eeef\n  description: New feature or request\n\n```\n\n\u003e NOTE: If you're prefixing colors with a `#` then wrap them with quotation marks (like '#ffffff') or yaml will think anything following the `#` is a comment.\n\n## 📋 Inputs\n\n\u003c!-- slot: inputs --\u003e\n| Input    | Description                                                          |              Default | Required |\n| :------- | :------------------------------------------------------------------- | -------------------: | :------: |\n| `config` | Path to the files containing the label configurations. (Can be URLs) | `.github/labels.yml` |          |\n| `create` | If true, label-sync has permission to create labels                  |               `true` |          |\n| `update` | If true, label-sync has permission to update labels                  |               `true` |          |\n| `delete` | If true, label-sync has permission to delete labels                  |              `false` |          |\n| `dryrun` | Dry-run toggle. label-sync will not make any actual changes if true  |               `true` |          |\n\u003c!-- /slot --\u003e\n\n---\n\n## 📑 License\n\n\u003e [MIT License](./LICENSE)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshresht7%2Flabel-sync-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshresht7%2Flabel-sync-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshresht7%2Flabel-sync-action/lists"}