Skip to content

🏷 Creates issue labels on GitHub idempotently through HashiCorp Terraform.

License

Notifications You must be signed in to change notification settings

siketyan/gh-labelx

Repository files navigation

gh-labelx

Rust crates.io

Creates issue labels on GitHub idempotently through HashiCorp Terraform.

Features

  • Idempotent: Apply twice, changes once.
  • Easy: No configuration required if you are using gh CLI.
  • Simple: Just write a simple YAML manifest to create many labels at once.
  • Extensible: Requests to GitHub are powered by Terraform. You can customise additional labels or properties using hooks after generation.

Prerequisites

gh-labelx requires HashiCorp Terraform. On macOS, you can install them via Homebrew:

brew install terraform

For other platforms, refer the official documentation: https://www.terraform.io/downloads

Getting started

gh extension install siketyan/gh-labelx

Usages

First, write your manifest in YAML format:

---
labels:
  - name: feature
    color: '0000FF'
  - name: fix
    color: 'FF0000'
  - name: refactor
    color: '00FF00'

Check your manifest is correct and can be applied to GitHub:

gh labelx -o <owner> -r <repo> plan -f <file>

Now apply to your GitHub repository:

gh labelx -o <owner> -r <repo> apply -f <file>

It's easy!