% ghlabels 8
ghlabels - label sync for repos and organizations
ghlabels
Usage:
ghlabels [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...]
sync labels - rename, sync, delete
Sync labels across ALL repos within an org or for a user
This process will pull all repositories associated with a User or Organization
and perform the sync label action on all qualifying repositories.
A repository qualifies for label sync if is is NOT archived and NOT a fork.
To view the default configuration, run the `dump-defaults` command.
$ ghlabels dump-defaults
The order of operations is:
1. Rename
2. Sync
3. Delete
A custom configuration file can be provided using the `--config, -c` flag. The
file passed to this config option must use the following structure. You do
not need to have all 3 Top Level sections in the config file for the
configuration to be valid.
By default, the `--config, -c` flag will overwrite the default configuration.
You can merge the provided configuration with the default using the
`--merge-with-defaults, -m` boolean flag. This will take the default configuration
and merge in the user provided configuration, with the user config taking precedence.
### Configuration Schema
| Top Level | Type | Description | Structure |
|----------- |-------- |---------------------------------------------------------------------------------- |------------------------------------------------------------- |
| `rename` | `List` | List of Label names to rename `from` a given name `to` a new name. | `{ from: "string", to: "string" }` |
| `remove` | `List` | List of Labels to be deleted from a Repo. | `string` |
| `sync` | `List` | List of Label configuration that will be used to create or update a given Label. | `{ name: "string", color: "sting", description: "string" }` |
–config, -c=””: Path to config file withs labels to sync.
–merge-with-defaults, -m: Merge provided config with defaults, otherwise only use the provided config.
–org, -o=””: GitHub Organization to view. Cannot be used with User flag.
–user, -u=””: GitHub User to view. Cannot be used with Organization flag.
Sync labels for a single repo
This process will perform the sync label action on all a single repository
provided via the `--repo, r` flag.
To view the default configuration, run the `dump-defaults` command.
$ ghlabels dump-defaults
The order of operations is:
1. Rename
2. Sync
3. Delete
A custom configuration file can be provided using the `--config, -c` flag. The
file passed to this config option must use the following structure. You do
not need to have all 3 Top Level sections in the config file for the
configuration to be valid.
By default, the `--config, -c` flag will overwrite the default configuration.
You can merge the provided configuration with the default using the
`--merge-with-defaults, -m` boolean flag. This will take the default configuration
and merge in the user provided configuration, with the user config taking precedence.
### Configuration Schema
| Top Level | Type | Description | Structure |
|----------- |-------- |---------------------------------------------------------------------------------- |------------------------------------------------------------- |
| `rename` | `List` | List of Label names to rename `from` a given name `to` a new name. | `{ from: "string", to: "string" }` |
| `remove` | `List` | List of Labels to be deleted from a Repo. | `string` |
| `sync` | `List` | List of Label configuration that will be used to create or update a given Label. | `{ name: "string", color: "sting", description: "string" }` |
–config, -c=””: Path to config file withs labels to sync.
–merge-with-defaults, -m: Merge provided config with defaults, otherwise only use the provided config.
–repo, -r=””: Repo name including owner. Examlple: clok/ghlabels
commands for viewing or generating configuration
print default labels yaml to STDOUT
pull labels from a Repo and print to STDOUT
$ ghlabels config generate repo [<owner>/<repo_name>]
Example:
$ ghlabels config generate repo clok/ghlabels
prints out repository stats
–org, -o=””: GitHub Organization to view. Cannot be used with User flag.
–user, -u=””: GitHub User to view. Cannot be used with Organization flag.