GitHubLabelSync 3.0.0

dotnet tool install --global GitHubLabelSync --version 3.0.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local GitHubLabelSync --version 3.0.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=GitHubLabelSync&version=3.0.0                
nuke :add-package GitHubLabelSync --version 3.0.0                

GitHub Label Sync

Synchronize GitHub issue labels across repositories

NuGet version CI Coverage

Maintainability Rating Reliability Rating Security Rating

Requirements

  • .NET 8 SDK

Installation

~$ dotnet tool install -g GitHubLabelSync

Setup

  • Generate a Personal Access Token in GitHub from https://github.com/settings/tokens/new with the following access:
    • repo
    • delete_repo
  • keep this key/token in a safe and private place, as you'll need it to sync your labels

Wait, why do I need to give delete_repo rights? That sounds scary!

Good question!

The GitHub API does not provide direct access to default labels, and so they are obtained by creating (and immediately deleting) a temporary private repository.

You can see the code that performs these actions here.

Usage

~$ sync-labels <org/username> [options]

This tool is designed for GitHub organization administrators, as organizations have the ability to set the default labels for new repositories.

Individual users are limited to GitHub's default set of issue labels, but this tool can still be used to ensure all of your repositories have the latest set.

Options

  • -k or --api-key: (required) GitHub API Key (Personal Access Token)
  • -f or --filter: only sync repositories that match the provided regular expression
  • -a or --no-add: do not add new labels
  • -e or --no-edit: do not edit existing labels
  • -d or --no-delete: do not delete stale labels
  • -r or --dry-run: do not perform any actions (equivalent to -a -e -d)
  • -h or --help: view this information from the command line

Contributing

Please be sure to read and follow ecoAPM's Contribution Guidelines when submitting issues or pull requests.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
3.0.0 282 11/20/2023
2.1.2 158 6/27/2023
2.1.1 237 3/24/2023
2.1.0 315 12/6/2021
2.0.1 3,245 11/24/2021
2.0.0 380 11/12/2021
1.0.0 385 10/15/2021
0.2.0 373 10/15/2021
0.1.1 325 10/14/2021
0.1.0 321 10/14/2021