labelit
is a tool to manage GitHub label as code.
You can sync labels for multiple repository with just single command per repository.
Usage: label [OPTIONS] COMMAND [ARGS]...
Options:
-h, --help Show this message and exit
Commands:
show show current set labels with target repo
update Update if name already exists, Add if not and Delete if not given in
yaml but already set
not yet distibuted with homebrew or other kind of package manager but will be doing soon.
You need a config file written in yaml. (other type will be supported in near future maybe).
name and color are required and description is optional.
description will be empty when not given.
labels:
- name: bug
color: fc2929
description: this is bug
- name: help wanted
color: 000000
- name: fix
color: cccccc
- name: good first issue
color: fbca04
labelit update --token=XXXXX --repo=omuomugin/labelit --config=path/to/your/config.yaml
Whole CLI tool is written in Kotlin.
And I want to thank all of the great libraries out there.
- ajalt/clikt for basic CLI implementation
- kittinunf/fuel for Http Request
- charleskorn/kaml for serializing, desirializing YAML
Thanks to johnrengelman/shadow , it is easy to build fat jar which can use it from command line.
./gradlew clean shadowjar
and you just run jar with command.
java -jar build/libs/labelit-x.y.z-all.jar --help