Skip to main content

Inicio rápido para GitHub API REST

Obtenga información sobre cómo empezar a trabajar con la GitHub API REST.

Introducción

En este artículo se describe cómo empezar a trabajar rápidamente con la GitHub API REST mediante GitHub CLI, curlo JavaScript. Para ver una guía más detallada, consulta Introducción a la API REST.

Uso de GitHub CLI en la línea de comandos

GitHub CLI es la manera más fácil de usar la GitHub API REST desde la línea de comandos.

  1. Instale GitHub CLI en macOS, Windows o Linux. Para obtener más información, consulte Instalación en el repositorio de GitHub CLI.

  2. Para autenticarte en GitHub, ejecuta el siguiente comando desde el terminal.

    gh auth login
    
  3. Selecciona dónde deseas autenticarte:

    • Si accedes a GitHub en GitHub.com, selecciona GitHub.com.
    • Si accedes a GitHub en un dominio diferente, selecciona Other y, a continuación, escribe tu nombre de host (por ejemplo: octocorp.ghe.com).
  4. Sigue el resto de las instrucciones que aparecen en pantalla.

    GitHub CLI almacena automáticamente sus credenciales de Git automáticamente cuando elija HTTPS como su protocolo preferido para las operaciones de Git y responda “yes” cuando le pregunten si quiere autenticarse en Git con sus credenciales GitHub. Esto puede ser útil, ya que permite usar comandos Git como git push y git pull sin necesidad de configurar un administrador de credenciales independiente o usar SSH.

  5. Realice una solicitud utilizando el subcomando GitHub CLIapi, seguido de la ruta. Usa la marca --method o -X para especificar el método. Para obtener más información, consulte la GitHub CLIapi documentación.

    En este ejemplo se hace una solicitud al punto de conexión “Obtener Octocat”, que usa el método GET y la ruta de acceso /octocat. Para obtener la documentación de referencia completa de este punto de conexión, consulta Puntos de conexión de la API de REST para metadatos.

    Shell
    gh api /octocat --method GET
    

Uso de GitHub CLI en GitHub Actions

También puede usar GitHub CLI en los GitHub Actions flujos de trabajo. Para más información, consulta Uso de GitHub CLI en flujos de trabajo.

Autenticación con token de acceso

En lugar de usar el comando gh auth login, pasa el token de acceso como una variable de entorno denominada GH_TOKEN. GitHub recomienda que utilice el GITHUB_TOKEN integrado en lugar de crear un token. Si esto no es posible, almacena el token como secreto y reemplaza GITHUB_TOKEN en el ejemplo siguiente por el nombre del secreto. Para obtener más información sobre GITHUB_TOKEN, consulta Uso de GITHUB_TOKEN para la autenticación en flujos de trabajo. Para obtener más información sobre secretos, consulta Uso de secretos en Acciones de GitHub.

El siguiente flujo de trabajo de ejemplo usa el endpoint List repository issues y solicita una lista de incidencias en el octocat/Spoon-Knife repositorio.

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

Autenticación con GitHub App

Si se autentica con un GitHub App, puede crear un token de acceso de una instalación dentro de su flujo de trabajo:

  1. Guarde el ID de cliente de GitHub App como variable de configuración. En el ejemplo siguiente, reemplaza APP_CLIENT_ID por el nombre de la variable de configuración. Puede encontrar el identificador de cliente en la página de configuración de la aplicación o a través de la API. Para más información, consulta Puntos de conexión de la API de REST para GitHub Apps. Para obtener más información sobre las variables de configuración, consulta Almacenamiento de información en variables.

  2. Generar una llave privada para tu app. Almacena el contenido del archivo resultante como un secreto. (Almacena todo el contenido del archivo, incluido el contenido de -----BEGIN RSA PRIVATE KEY----- y -----END RSA PRIVATE KEY-----). En el siguiente ejemplo, reemplaza APP_PRIVATE_KEY por el nombre del secreto. Para más información, consulta Administración de claves privadas para aplicaciones de GitHub. Para obtener más información sobre secretos, consulta Uso de secretos en Acciones de GitHub.

  3. Agrega un paso para generar un token y use ese token en lugar de GITHUB_TOKEN. Ten en cuenta que este token expirará después de 60 minutos. Por ejemplo:

    YAML
    on:
      workflow_dispatch:
    jobs: