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.
Los webhooks se han renombrado como puntos finales HTTPS sin cambios en su 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 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
Necesitará proporcionar valores para los siguientes parámetros cuando cree una interfaz de servicio de GitHub:
{ "name": "<Service Name>", "type": "github", "config": {} }
Parameter | Descripción |
|---|---|
Service Name config.name | El nombre de esta interfaz de servicio de GitHub. Debe ser único respecto a las demás interfaces de servicio de la 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
Convertir webhooks de GitHub en puntos finales
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 | Opcional. El ID del usuario de App Services que ejecuta la función de webhook cuando se llama a este. 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 comprobar su validez. Debes especificar este valor en la configuración de tu repositorio de GitHub al proporcionar la URL de un webhook. |
Solicitud de carga útil
App Services pasa automáticamente un documento payload como primer argumento a las funciones de webhook entrantes. En un webhook entrante de GitHub Service, el objeto payload representa el evento de GitHub que provocó 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.
Ejemplo de función de webhook
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 servicio GitHub pasa el documento payload 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.
Haga clic en la pestaña Settings del repositorio y seleccione Webhooks en el menú de la izquierda.
Haga clic en Add Webhook.
Agregue la URL del webhook al campo Payload URL.
Establezca el tipo de contenido en
application/json.Ingrese GitHub Secret. Debe coincidir con el valor que proporcionó en la configuración del webhook.
Elige el tipo de eventos a los que deseas suscribirte.
Haga clic en Add webhook.