Importante
Servicios de terceros y notificaciones push obsoletos
Los servicios de terceros y las notificaciones push en App Services han quedado obsoletos en favor de la creación de puntos finales HTTP que usan dependencias externas en funciones.
Webhooks se han renombrado a HTTPS Endpoints sin cambios en el comportamiento. Debe migrar los Webhooks existentes.
Los servicios existentes continuarán funcionando hasta el de septiembre 30 2025de.
Dado que los servicios de terceros y las notificaciones push ya no se utilizan, se han eliminado de forma predeterminada de la interfaz de usuario de App Services. Si necesita administrar un servicio de terceros o una notificación push existente, puede volver a agregar las configuraciones a la interfaz de usuario siguiendo estos pasos:
En la navegación izquierda, debajo del Manage sección, haga clic en App Settings.
Habilite el interruptor junto a Temporarily Re-Enable 3rd Party Services y luego guarde los cambios.
Overview
GitHub es una plataforma de desarrollo basada en la web para alojar y revisar repositorios Git.
El servicio Atlas App Services de GitHub permite que su aplicación reaccione a eventos en un repositorio de GitHub, como nuevas solicitudes de extracción o problemas.
Parámetros de configuración
You will need to provide values for the following parameters when you create a GitHub service interface:
{ "name": "<Service Name>", "type": "github", "config": {} }
Parameter | Descripción |
|---|---|
Service Name config.name | El nombre de esta interfaz de servicio de GitHub. Esto debe ser único respecto a todas las demás interfaces de servicio en tu aplicación. |
Acciones de servicio
Los servicios de GitHub no proporcionan ninguna acción de servicio. Utilice un webhook entrante para responder a eventos en su repositorio de GitHub.
Webhooks entrantes
Nota
Convert GitHub Webhooks to Endpoints
Los webhooks del servicio GitHub están obsoletos y se sustituyen por endpoints HTTPS personalizados. Para saber cómo migrar tus webhooks de GitHub a endpoints, consulta Convertir webhooks a endpoints HTTPS.
GitHub puede invocar uno o más webhooks cuando ocurre un evento específico en un repositorio. Si desea obtener más información sobre la funcionalidad de los webhooks de GitHub, incluyendo información de referencia detallada sobre los tipos de eventos, consulte la sección sobre webhooks de GitHub. documentación.
Configuración
Tendrá que proporcionar valores para los siguientes parámetros cuando configure un webhook de entrada en GitHub:
Necesitará proporcionar un archivo de configuración con el siguiente formato cuando configure un webhook entrante de GitHub:
{ "name": <string>, "respond_result": <boolean>, "run_as_user_id": <string>, "run_as_user_id_script_source": <string>, "options": { "secret": <string> }, }
Valor de configuración | Descripción |
|---|---|
Webhook Name name | Obligatorio. El nombre del webhook. Cada webhook entrante en una interfaz de servicio de GitHub debe tener un nombre único. |
Respond With Result respond_result | Obligatorio. Si |
Run Webhook As run_as_user_id run_as_user_id_script_source | Optional. The id of the App Services user that executes the webhook function when the webhook is called. Existen tres formas de configurar el usuario de ejecución:
Puede especificar el ID de usuario directamente en |
Request Validation config.secret | La cadena GitHub Secret que GitHub incluye con las solicitudes entrantes para demostrar que son válidas. Debes especificar este valor en la configuración de tu repositorio de GitHub cuando proporciones una URL de webhook. |
Carga útil de la solicitud
Aplicación Services pasa automáticamente un documento payload como primer argumento a las funciones entrantes de webhook. En un webhook entrante de servicio de GitHub, el objeto payload representa el evento de GitHub que hizo que GitHub llamara al webhook.
Nota
El contenido exacto de los documentos de GitHub payload varía según el tipo de evento que representan. Para obtener una descripción detallada del documento de carga útil de un tipo de evento específico, consulta la documentación de Tipos de eventos y cargas útiles de GitHub.
Example Webhook Function
La siguiente función de webhook inserta datos entrantes en una colección MongoDB.
exports = function(payload) { const mongodb = context.services.get("mongodb-atlas"); const requestlogs = mongodb.database("test").collection("requestlogs"); return requestlogs .insertOne({ "commits": payload.commits, "pushed_by": payload.pusher, "repo": payload.repository.html_url }) .then(({ insertedId }) => `Inserted document with _id: ${insertedId}`) }
El documento payload es proporcionado por el servicio de GitHub y contiene información de la solicitud.
Configurar GitHub
Agregar un webhook a un repositorio de GitHub
Inicie sesión en GitHub.
Navegue hasta el repositorio al que desea suscribirse.
Click the Settings tab of the repository and select Webhooks from the left hand menu.
Haga clic en Add Webhook.
Agregue la URL del webhook al campo Payload URL.
Set the content type to
application/json.Introduce el GitHub Secret. Esto debería coincidir con el valor proporcionado en la configuración webhook.
Elige el tipo de eventos a los que deseas suscribirte.
Haga clic en Add webhook.