Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/siketyan/gh-labelx

🏷 Creates issue labels on GitHub idempotently through HashiCorp Terraform.
https://github.com/siketyan/gh-labelx

cli github-issues labels rust terraform

Last synced: 3 months ago
JSON representation

🏷 Creates issue labels on GitHub idempotently through HashiCorp Terraform.

Awesome Lists containing this project

README

        

# gh-labelx
[![Rust](https://github.com/siketyan/gh-labelx/actions/workflows/rust.yml/badge.svg)](https://github.com/siketyan/gh-labelx/actions/workflows/rust.yml)
[![crates.io](https://img.shields.io/crates/v/gh-labelx.svg)](https://crates.io/crates/gh-labelx)

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:

```shell
brew install terraform
```

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

## Getting started
```shell
gh extension install siketyan/gh-labelx
```

## Usages
First, write your manifest in YAML format:

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

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

```shell
gh labelx -o -r plan -f
```

Now apply to your GitHub repository:

```shell
gh labelx -o -r apply -f
```

It's easy!