O que é a GitHub CLI (gh)? Explicado
A GitHub CLI (gh) leva o GitHub para o seu terminal, permitindo gerenciar pull requests, issues, releases e a API sem sair da linha de comando.
O gh é a ferramenta de linha de comando oficial do GitHub. Ele encapsula operações comuns do GitHub (abrir PRs, revisar issues, criar releases) e as APIs REST e GraphQL completas em comandos convenientes, o que o torna especialmente útil para scripting e automação de CI.
O que é a GitHub CLI
O gh é uma interface de linha de comando para o GitHub. Ele se autentica na sua conta ou, em CI, com um token, e expõe comandos para pull requests, issues, releases, gists, workflows e chamadas diretas à API. Ele complementa o git: o git gerencia commits, o gh gerencia os recursos do GitHub em torno deles.
Como funciona
O gh se autentica via "gh auth login" ou, em automação, lendo um token da variável de ambiente GH_TOKEN. Os comandos mapeiam para recursos do GitHub ("gh pr create", "gh issue list"), e "gh api" permite chamar qualquer endpoint REST ou GraphQL diretamente para coisas que os comandos de mais alto nível não cobrem.
Um exemplo de uso
Crie um pull request e inspecione a execução de um workflow.
# open a PR from the current branch
gh pr create --fill
# view the latest workflow run
gh run list --limit 1
# call the API directly
gh api /repos/owner/repo/releases/latestPapel em CI/CD
Em CI, o gh vem pré-instalado nos runners hospedados pelo GitHub e é a ferramenta de referência para automação do GitHub: criar releases, comentar em PRs, disparar workflows ou consultar o status de execuções. Ele lê o GH_TOKEN automaticamente, então os scripts se autenticam sem configuração extra. É a forma mais limpa de fazer scripting de interações com o GitHub dentro de um pipeline.
Alternativas
Chamadas diretas à API REST ou GraphQL do GitHub com curl funcionam, mas são mais verbosas. GitHub Actions do Marketplace encapsulam muitas das mesmas operações como steps reutilizáveis. A ferramenta Hub era um wrapper de git mais antigo. O gh é a CLI oficial, mantida ativamente, e a escolha recomendada.
Principais conclusões
- O gh leva PRs, issues, releases e a API do GitHub para o terminal.
- Ele se autentica via GH_TOKEN, o que o torna ideal para scripting em CI.
- Em CI ele automatiza releases, comentários em PRs e disparo de workflows.