Skip to main content

Inicio rápido para compilar aplicaciones de GitHub

Compile rápidamente un GitHub App que agregue comentarios a las solicitudes de incorporación de cambios.

Introducción

Las GitHub Apps permiten automatizar procesos o integrar otras plataformas con GitHub. Para más información, consulta "Acerca de la creación de GitHub Apps."

En este inicio rápido se describe cómo crear rápidamente un GitHub App. Cuando se abre una solicitud de cambios en un repositorio al que se concedió acceso a la aplicación, la aplicación agregará un comentario a dicha solicitud.

En este inicio rápido se usa código escrito previamente para ayudarte a empezar a trabajar rápidamente. Para obtener un tutorial más detallado que realmente te ayude a escribir el código, consulta "Creación de una aplicación de GitHub que responda a eventos de webhook".

Requisitos previos

Tanto el equipo como el codespace deben usar versión 12 de Node.js, cualquier versión posterior. Para más información, consulta Node.js.

Paso 1: Clonar el código de la aplicación

Para que puedas empezar rápidamente, puedes usar el código que hemos escrito. Si quieres aprender a escribir el código, consulta "Creación de una aplicación de GitHub que responda a eventos de webhook".

  1. Clona el repositorio github/github-app-js-sample. Para obtener más información, vea «Clonar un repositorio». Puedes usar un clon local o GitHub Codespaces.
  2. En una ventana de terminal, ve al directorio donde se almacena el clon.
  3. Ejecute npm install para instalar las dependencias.

Paso 2: Obtener una dirección URL del proxy de webhook

Para desarrollar la aplicación localmente, puedes usar una dirección URL del proxy de webhook para reenviar webhooks de GitHub al equipo o codespace. En este inicio rápido se usa Smee.io para proporcionar una dirección URL del proxy de webhook y reenviar webhooks.

  1. Abre el explorador y ve a https://smee.io/.
  2. Haz clic en Iniciar un nuevo canal.
  3. Copia la dirección URL completa en "Dirección URL del proxy de webhook". La usarás en un paso posterior.

Paso 3: Registro de una instancia de GitHub App

Los pasos siguientes te guiarán por la configuración de los valores de la aplicación necesarios para este inicio rápido. Para más información sobre la configuración, consulta "Registro de una instancia de GitHub App".

  1. En la esquina superior derecha de cualquier página en GitHub, haga clic en su fotografía de perfil.
  2. Navega a la configuración de tu cuenta.
    • Para una aplicación propiedad de una cuenta personal, haga clic en Configuración.
    • Para una aplicación propiedad de una organización:
      1. Haga clic en Sus organizaciones.
      2. A la derecha de la organización, haga clic en Configuración.
  3. En la barra lateral izquierda, haz clic en Configuración del desarrollador.
  4. En la barra lateral de la izquierda, haga clic en GitHub Apps .
  5. Haga clic en New GitHub App (Nueva aplicación GitHub).
  6. En "Nombre de la aplicación de GitHub", escribe un nombre para la aplicación. Por ejemplo, USERNAME-quickstart-app donde USERNAME es el nombre de usuario de GitHub.
  7. En "Dirección URL de la página principal", escribe https://github.com/github/github-app-js-sample#readme.
  8. Omite las secciones "Identificación y autorización de usuarios" y "Pasos posteriores a la instalación" de este inicio rápido. Para más información acerca de esta configuración, consulta "Registro de una instancia de GitHub App".
  9. Asegúrate de que Activo esté seleccionado en "Webhooks".
  10. En "Dirección URL de webhook", escribe la dirección URL del proxy de webhook anterior. Para más información, consulta "Paso 2: Obtener una dirección URL del proxy de webhook".
  11. En "Secreto de webhook", escribe una cadena aleatoria. Usarás esta cadena más adelante.
  12. En "Permisos de repositorio", junto a "Solicitudes de cambios", selecciona Leer y escribir.
  13. En "Suscripción a los eventos", selecciona Solicitud de cambios.
  14. En "¿Dónde se puede instalar esta aplicación de GitHub?", selecciona Solo en esta cuenta.
  15. Haga clic en Create GitHub App (Crear aplicación de GitHub).

Paso 4: Almacenar la información de identificación y las credenciales

En este inicio rápido, tanto las credenciales como la información se van a almacenar como variables de entorno en un archivo .env. Cuando implementes la aplicación, puede que quieras cambiar la forma en que se almacenan las credenciales. Para más información, consulta "Implementación de la aplicación".

Asegúrate de que estás en una máquina segura antes de realizar estos pasos, ya que vas a almacenar las credenciales localmente.

Cree un archivo .env .

El repositorio clonado incluye .env en el archivo .gitignore. Esto evitará que confirmes accidentalmente las credenciales de la aplicación. Para más información sobre los archivos .gitignore, consulta "Ignorar archivos".

  1. Ve al directorio en el que se almacena el clon de github/github-app-js-sample.

  2. Cree un archivo llamado .env en el nivel superior de este directorio.

  3. Agrega el siguiente contenido al archivo .env: Actualizarás los valores en un paso posterior.

    Text
    APP_ID="YOUR_APP_ID"
    WEBHOOK_SECRET="YOUR_WEBHOOK_SECRET"
    PRIVATE_KEY_PATH="YOUR_PRIVATE_KEY_PATH"
    

Si saliste de la configuración después de crear la aplicación, vuelve a ella:

  1. En la esquina superior derecha de cualquier página en GitHub, haga clic en su fotografía de perfil.
  2. Navega a la configuración de tu cuenta.
    • Para una aplicación propiedad de una cuenta personal, haga clic en Configuración.
    • Para una aplicación propiedad de una organización:
      1. Haga clic en Sus organizaciones.
      2. A la derecha de la organización, haga clic en Configuración.
  3. En la barra lateral izquierda, haz clic en Configuración del desarrollador.
  4. En la barra lateral de la izquierda, haga clic en GitHub Apps .
  5. Junto al nombre de la aplicación, haz clic en Editar.

Obtención de las credenciales y de la información de identificación de la aplicación

  1. En la página de configuración de la aplicación, junto a "Id. de la aplicación", busca el identificador de la aplicación.
  2. En el archivo .env, reemplaza YOUR_APP_ID por el identificador de la aplicación.
  3. En la página de configuración de la aplicación, en "Claves privadas", haz clic en Generar una clave privada. Verás una llave privada en formato PEM que se descarga en tu ordenador. Para obtener más información, vea «Administración de claves privadas para aplicaciones de GitHub».
  4. Si usas un codespace, mueve el archivo PEM descargado al codespace para que este pueda acceder al archivo.
  5. En el archivo .env, reemplaza YOUR_PRIVATE_KEY_PATH por la ruta de acceso completa a la clave privada, incluida la extensión .pem.
  6. En el archivo .env, reemplaza YOUR_WEBHOOK_SECRET por el secreto de webhook de la aplicación. Si has olvidado el secreto de webhook, en "Secreto de webhook (opcional)", haz clic en Cambiar secreto. Especifica un nuevo secreto y, a continuación, haz clic en Guardar cambios.

Paso 5: Instalar la aplicación

Para que la aplicación deje un comentario en las solicitudes de cambios de un repositorio, debe instalarse en la cuenta propietaria del repositorio y se debe conceder acceso a ese repositorio. Como tu aplicación es privada, solo puede instalarse en la cuenta propietaria de la aplicación.

  1. En la cuenta propietaria de la aplicación que creaste, crea un nuevo repositorio en el que instalar la aplicación. Para obtener más información, vea «Crear un repositorio nuevo».
  2. Si has salido de la configuración después de crear la aplicación, vuelve a la página de configuración de la aplicación. Para más información, consulta "Desplazamiento a la configuración de la aplicación".
  3. Haz clic en Página pública.
  4. Haga clic en Instalar.
  5. Elige Solo seleccionar repositorios.
  6. Selecciona el menú desplegable Seleccionar repositorios y haz clic en el repositorio que elegiste al principio de esta sección.
  7. Haga clic en Instalar.

Paso 6: Iniciar el servidor

Para realizar pruebas, usarás el equipo o el codespace como servidor. La aplicación solo estará activa cuando el servidor este en ejecución.

  1. En una ventana de terminal, ve al directorio en el que se almacena el clon de github/github-app-js-sample.

  2. Para recibir los webhooks reenviados desde Smee.io, ejecuta npx smee -u WEBHOOK_PROXY_URL -t http://localhost:3000/api/webhook. Reemplaza WEBHOOK_PROXY_URL por la dirección URL del proxy de webhook. Si olvidaste la dirección URL, puedes encontrarla en el campo "Dirección URL de webhook" en la página de configuración de la aplicación.

    Deberías ver una salida con el siguiente aspecto, en la que WEBHOOK_PROXY_URL es la dirección URL del proxy del webhook.

    Forwarding WEBHOOK_PROXY_URL to http://localhost:3000/api/webhook
    Connected WEBHOOK_PROXY_URL
    
  3. En una segunda ventana de terminal, ve al directorio en el que se almacena el clon de github/github-app-js-sample.

  4. Ejecute npm run server. El terminal debe indicar, Server is listening for events at: http://localhost:3000/api/webhook.

Paso 7: Probar la aplicación

Ahora que el servidor está en ejecución y recibe eventos de webhooks reenviados, abre una solicitud de incorporación de cambios para probar la aplicación.

  1. Abre una solicitud de incorporación de cambios en el repositorio que creaste en Paso 5: Instalar la aplicación. Para obtener más información, vea "Crear una solicitud de incorporación de cambios".
  2. Vaya a la dirección URL del proxy del webhook en smee.io. Verá el evento pull_request. Esto indica que GitHub envió correctamente un evento de solicitud de cambios al crear una solicitud de este tipo.
  3. En el terminal en el que ejecutaste npm run server, deberías ver algo parecido a "Se ha recibido un evento de solicitud de cambios #1", donde el entero después de # es el número de la solicitud de cambios que abriste.
  4. En la escala de tiempo de la solicitud de cambios, deberías ver un comentario de la aplicación. El comentario usa el contenido del archivo message.md en el repositorio clonado.
  5. En ambas ventanas de terminal, escribe Ctrl+C para detener el servidor y dejar de escuchar webhooks reenviados.

Pasos siguientes

Ahora que tienes una aplicación, es posible que quieras expandir su código, implementarla y hacer que sea pública.

Modificación de la aplicación

Bifurca el repositorio github/github-app-js-sample y modifica el código para que responda a diferentes eventos de webhook o para que realice solicitudes de API diferentes. Para más información sobre el código, consulta "Creación de una aplicación de GitHub que responda a eventos de webhook".

Recuerda actualizar los permisos de la aplicación si esta necesita permisos adicionales para las solicitudes de API que quieres realizar o los eventos de webhook que quieres recibir. Para obtener más información, vea «Elección de permisos para una aplicación de GitHub».

Implementación de la aplicación

En este tutorial se usó el equipo o codespace como servidor. Una vez que la aplicación esté lista para su uso en producción, debes implementarla en un servidor dedicado. Por ejemplo, puedes usar Azure App Service.

Una vez que tengas un servidor, actualiza la dirección URL del webhook en la configuración de la aplicación. No debes usar Smee.io para reenviar los webhooks en producción.

También deberás actualizar las constantes port y host en el código. Para obtener más información, vea «Creación de una aplicación de GitHub que responda a eventos de webhook».

Nunca debes publicar la clave privada ni el secreto de webhook de la aplicación. En este tutorial se almacenan las credenciales de la aplicación en un archivo gitignored .env. Cuando implementes la aplicación, debes elegir una manera segura de almacenar las credenciales y actualizar el código para obtener el valor en consecuencia. Por ejemplo, puedes almacenar las credenciales en una variable de entorno en el servidor en el que se implementa la aplicación. También puedes usar un servicio de administración de secretos como Azure Key Vault.

Compartición de la aplicación

Si quieres compartir la aplicación con otros usuarios y organizaciones, haz que la aplicación sea pública. Para obtener más información, vea «Hacer pública o privada a una GitHub App».

Seguimiento de los procedimientos recomendados

Debes intentar seguir los procedimientos recomendados con tu instancia de GitHub App. Para obtener más información, vea «Procedimientos recomendados para crear una aplicación de GitHub».