Skip to main content

Enterprise Server 3.16 está disponível no momento como versão release candidate.

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 curl na linha de comando

Note

Se você quiser fazer solicitações de API usando a linha de comando, o GitHub recomenda o uso da GitHub CLI, o que simplifica a autenticação e as solicitações. Para obter mais informações sobre como começar a usar a API REST usando a GitHub CLI, confira a versão da GitHub CLI deste artigo.

  1. Instale o curl caso ainda não o tenha feito em seu computador. Para verificar se o curl está instalado, execute curl --version na linha de comando. Se a saída fornecer informações sobre a versão do curl, isso significará que o curl está instalado. Se você receber uma mensagem semelhante a command not found: curl, será necessário baixar e instalar o curl. Para obter mais informações, confira a página de download do projeto curl.

  2. Crie um token de acesso. Por exemplo, crie um personal access token ou um token de acesso de usuário do GitHub App. Você usará esse token para autenticar sua solicitação, portanto, você deve conceder a ele todos os escopos ou permissões necessários para acessar o ponto de extremidade. Para saber mais, confira Autenticação na API REST.

    Warning

    Trate o token de acesso como faria com uma senha.

    Você também pode usar a GitHub CLI em vez do curl. A GitHub CLI cuidará da autenticação para você. Para obter mais informações, confira a versão da GitHub CLI desta página.

    Se essas opções não forem possíveis, considere usar outro serviço do CLI para armazenar seu token com segurança.

  3. Use o comando curl para fazer sua solicitação. Passe o seu token em um cabeçalho de Authorization Substitua HOSTNAME pelo nome do sua instância do GitHub Enterprise Server. Substitua REPO-OWNER pelo nome da conta proprietária do repositório. Substitua REPO-NAME pelo nome do repositório. Substitua YOUR-TOKEN pelo seu token.

    Shell
    curl --request GET \
    --url "http(s)://HOSTNAME/api/v3/repos/REPO-OWNER/REPO-NAME/issues" \
    --header "Accept: application/vnd.github+json" \
    --header "Authorization: Bearer YOUR-TOKEN"
    

    Note

    Na maioria dos casos, você pode usar Authorization: Bearer ou Authorization: token a fim de passar um token. No entanto, se estiver passando um JWT (token Web JSON), você deverá usar Authorization: Bearer.

Como usar os comandos curl em GitHub Actions

Você também pode usar os comandos curl em seus fluxo de trabalho de GitHub Actions.

Autenticação com um token de acesso

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.

No exemplo a seguir, substitua HOSTNAME pelo nome do sua instância do GitHub Enterprise Server. Substitua REPO-OWNER pelo nome da conta proprietária do repositório. Substitua REPO-NAME pelo nome do repositório.

YAML
on:
  workflow_dispatch:
jobs:
  use_api:
    runs-on: ubuntu-latest
    permissions:
      issues: read
    steps:
      - env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          curl --request GET \
          --url "http(s)://HOSTNAME/api/v3/repos/REPO-OWNER/REPO-NAME/issues" \
          --header "Accept: application/vnd.github+json" \
          --header "Authorization: Bearer $GH_TOKEN"

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 seu aplicativo na página de configurações do seu aplicativo ou por meio da API do aplicativo. 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 como armazenar 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. no exemplo a seguir, substitua HOSTNAME pelo nome do sua instância do GitHub Enterprise Server. Substitua REPO-OWNER pelo nome da conta proprietária do repositório. Substitua REPO-NAME pelo nome do repositório.

    YAML
    
    on:
      workflow_dispatch:
    jobs:
      use_api:
        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: |
              curl --request GET \
              --url "http(s)://HOSTNAME/api/v3/repos/REPO-OWNER/REPO-NAME/issues" \
              --header "Accept: application/vnd.github+json" \
              --header "Authorization: Bearer $GH_TOKEN"
    
    

Próximas etapas

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