gh-mrlabel
is a gh extension for manipulating labels across multiple repositories
Install as a gh extension (ref. gh manual of gh extension install).
$ gh extension install tnagatomi/gh-mrlabel
Login to GitHub with gh auth login
(ref. gh manual of gh auth login) so that the extension can access the repositories.
-R
,--repos
: Select repositories using theOWNER/REPO
format separated by comma (e.g.,owner1/repo1,owner2/repo1
)--dry-run
: Check what operations would be executed without actually operating on the repositories
$ gh mrlabel create
Create specified labels to the specified repositories.
-l
,--label
: Specify the labels to create in the format of'label1:color1:description1[,label2:color2:description2,...]'
(description can be omitted)
$ gh mrlabel create -R "owner1/repo1,owner1/repo2,owner2/repo1" -l "label1:ff0000:description for label 1,label2:00ff00,label3:0000ff"
$ gh mrlabel delete
Delete specified labels from the specified repositories.
-l
,--label
: Specify the labels to delete in the format of'label1[,label2,...]'
--force
: Do not prompt for confirmation
$ gh mrlabel delete -R "owner1/repo1,owner1/repo2,owner2/repo1" -l "label1,label2,label3"
$ gh mrlabel sync
Sync the labels in the specified repositories with the specified labels.
-l
,--label
: Specify the labels to set in the format ofSpecify the labels to set in the format of'label1:color1:description1[,label2:color2:description2,...]'
(description can be omitted)--force
: Do not prompt for confirmation
$ gh mrlabel sync -R "owner1/repo1,owner1/repo2,owner2/repo1" -l "label1:ff0000:description for label 1,label2:00ff00,label3:0000ff"
$ gh mrlabel empty
Delete all labels from the specified repositories.
--force
: Do not prompt for confirmation
$ gh mrlabel empty -R "owner1/repo1,owner1/repo2,owner2/repo1"