Skip to main content

Início Rápido para a API REST do GitHub

Saiba como começar a usar a API REST do GitHub.

Introdução

Este artigo descreve como começar rapidamente com a API REST do GitHub usando a GitHub CLI, curl ou JavaScript. Para ver um guia mais detalhado, confira Introdução à API REST.

Como usar a GitHub CLI na linha de comando

A GitHub CLI é a maneira mais fácil de usar a API REST do GitHub por meio da linha de comando.

  1. Instale a GitHub CLI no macOS, no Windows ou no Linux. Para obter instruções de instalação, confira Instalação no repositório do GitHub CLI.

  2. Para se autenticar no GitHub, execute o comando a seguir no terminal.

    gh auth login
    
  3. Selecione o local em que deseja se autenticar:

    • Se você acessar o GitHub no GitHub.com, selecione GitHub.com.
    • Se você acessar o GitHub em um domínio diferente, selecione Outro e depois insira o nome do host (por exemplo, octocorp.ghe.com).
  4. Siga o restante das solicitações na tela.

    O GitHub CLI armazena automaticamente suas credenciais do Git quando você escolhe HTTPS como protocolo preferencial para operações Git e responde "sim" ao prompt que pergunta se deseja efetuar a autenticação no Git com suas credenciais do GitHub. Isso pode ser útil porque permite que você use comandos Git como git push e git pull sem a necessidade de configurar um gerenciador de credenciais separado ou usar SSH.

  5. Faça uma solicitação usando o subcomando GitHub CLI api, seguido pelo caminho. Use o sinalizador --method ou -X para especificar o método. Para obter mais informações, confira a documentaçãoapi da GitHub CLI.

    Este exemplo faz uma solicitação para o ponto de extremidade "Obter Octocat", que usa o método GET e o caminho /octocat. Para ver a documentação de referência completa desse ponto de extremidade, confira Pontos de extremidade da API REST para metadados.

    Shell
    gh api /octocat --method GET
    

Como usar a GitHub CLI em GitHub Actions

Você também pode usar a GitHub CLI em seus fluxos de trabalho de GitHub Actions. Para saber mais, confira Usar o GitHub CLI em fluxos de trabalho.

Autenticação com um token de acesso

Em vez de usar o comando gh auth login, passe um token de acesso como uma variável de ambiente chamada GH_TOKEN. O GitHub recomenda que você use o GITHUB_TOKEN interno em vez de criar um token. Se isso não for possível, armazene o token como um segredo e substitua GITHUB_TOKEN no exemplo abaixo pelo nome do seu segredo. Para obter mais informações sobre GITHUB_TOKEN, confira Autenticação automática de token. Para saber mais sobre segredos, confira Usar segredos em ações do GitHub.

O fluxo de trabalho de exemplo a seguir usa o ponto de extremidade Listar problemas do repositório e solicita uma lista de issues em o repositório octocat/Spoon-Knife.

YAML
on:
  workflow_dispatch:
jobs:
  use_api:
    runs-on: ubuntu-latest
    permissions:
      issues: read
    steps:
      - env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api https://api.github.com/repos/octocat/Spoon-Knife/issues

Autenticação com um GitHub App

Se estiver se autenticando com um GitHub App, você poderá criar um token de acesso de instalação no fluxo de trabalho:

  1. Armazene a ID do seu GitHub App como uma variável de configuração. No exemplo a seguir, substitua APP_ID pelo nome da variável de configuração. Você pode encontrar o ID do aplicativo na página de configurações do aplicativo ou por meio da API. Para saber mais, confira Pontos de extremidade da API REST para o GitHub Apps. Para saber mais sobre variáveis de configuração, confira Armazenar informações em variáveis.

  2. Gerar uma chave privada para o seu aplicativo. Armazene o conteúdo do arquivo resultante como um segredo. (Armazene todo o conteúdo do arquivo, incluindo -----BEGIN RSA PRIVATE KEY----- e -----END RSA PRIVATE KEY-----). No exemplo a seguir, substitua APP_PEM pelo nome do segredo. Para saber mais, confira Como gerenciar chaves privadas para Aplicativos GitHub. Para saber mais sobre segredos, confira Usar segredos em ações do GitHub.

  3. Adicione uma etapa para gerar um token e use esse token em vez de GITHUB_TOKEN. Observe que esse token vai expirar após 60 minutos. Por exemplo:

    YAML
    
    on:
      workflow_dispatch:
    jobs:
      track_pr:
        runs-on: ubuntu-latest
        steps:
          - name: Generate token
            id: generate-token
            uses: actions/create-github-app-token@v1
            with:
              app-id: ${{ vars.APP_ID }}
              private-key: ${{ secrets.APP_PEM }}
          - name: Use API
            env:
              GH_TOKEN: ${{ steps.generate-token.outputs.token }}
            run: |
              gh api https://api.github.com/repos/octocat/Spoon-Knife/issues
    

Próximas etapas

Para obter um guia mais detalhado, confira Introdução à API REST.