Saltar al contenido principal

Webhooks

Los webhooks notifican a un sistema externo cuando finaliza una exportación programada. Los proporciona la app Exportelier Automation y permanecen desactivados hasta que un administrador del sitio activa la entrega por webhook.

Tipos de webhook disponibles

  • Webhook entrante de Slack — publica el resumen de la exportación como un mensaje normal del canal.
  • Webhook de flujo de trabajo de Microsoft Teams — publica una Adaptive Card 1.2 a través de un flujo de trabajo de Teams creado por el cliente.

Configuración de webhooks Los ajustes de endpoints de webhook con tipo, referencia enmascarada y estado.

Un webhook enlaza — no carga el archivo en Slack ni Teams

Un webhook nunca adjunta el PDF, DOCX o Markdown generado al mensaje del proveedor. De forma predeterminada, una exportación programada de un solo elemento enlaza con su elemento de Jira. Si la misma ejecución también tiene un destino de adjunto de Jira correcto, el mensaje enlaza con ese adjunto generado. Ambos enlaces permanecen en Jira y requieren que el destinatario tenga el acceso correspondiente.

Cómo es el mensaje

Ambos canales envían la misma línea de resumen:

Exportelier export "Weekly sprint report": sprint-report-2026-09-01.pdf (14 issues)
  • Slack recibe el resumen seguido de los enlaces pulsables Abrir elemento de Jira y Abrir documento cuando están disponibles.
  • Teams recibe una Adaptive Card 1.2 con el encabezado Exportelier export: <nombre de la programación>, la misma línea de resumen y acciones OpenUrl equivalentes cuando están disponibles.

El enlace al elemento de Jira se omite en exportaciones con varios elementos. El enlace al documento se omite salvo que un destino de adjunto de Jira se complete primero. El mensaje Probar del endpoint no incluye enlaces porque no exporta ni adjunta un documento.

Configuración

Ambos canales siguen las mismas tres partes: activar la entrega una vez, registrar el endpoint y seleccionarlo en una programación.

1. Activar la entrega por webhook

En Exportelier Automation, abra Configuración → Entrega externa y active Activar la entrega por webhook. Aparecerá un diálogo de confirmación: es el momento en el que un administrador del sitio acepta explícitamente que los datos salen de Atlassian.

Mientras este interruptor esté desactivado, el destino de entrega Webhook permanece atenuado en todas las programaciones y nunca se envía nada.

2a. Registrar un webhook entrante de Slack

Slack emite las URL de webhooks entrantes a través de una app de Slack:

  1. Abra api.slack.com/apps y elija Create New App → From scratch. Póngale un nombre —por ejemplo Exportelier— y seleccione el workspace de destino.
  2. En la barra lateral de la app, abra Incoming Webhooks y active Activate Incoming Webhooks.
  3. Haga clic en Add New Webhook to Workspace, seleccione el canal que debe recibir las notificaciones y confirme con Allow.
  4. Copie la Webhook URL generada. Tiene la forma https://hooks.slack.com/services/T…/B…/…. Trátela como una contraseña: cualquiera que la tenga puede publicar en ese canal.
  5. En Exportelier Automation, vaya a Configuración → Endpoints de webhook, ponga Canal en Webhook entrante de Slack, pegue la URL en Endpoint y haga clic en Añadir endpoint.

Exportelier solo acepta URL HTTPS en el host hooks.slack.com. Los mensajes aparecen con el nombre y el icono de la app de Slack que ha creado; ambos se cambian en Slack en Basic Information → Display Information.

No es una URL de trigger de Workflow Builder

Slack Workflow Builder también entrega URL de hooks.slack.com, pero tienen la forma https://hooks.slack.com/triggers/… y esperan las variables con nombre de ese flujo de trabajo en lugar de un campo text. La comprobación de host de Exportelier acepta esa URL, pero en el canal no aparecerá ningún mensaje legible. Utilice un webhook entrante (/services/…) de una app de Slack como se describe arriba.

2b. Registrar un webhook de flujo de trabajo de Microsoft Teams

Microsoft retiró los webhooks de conectores de Office 365 en mayo de 2026. Por eso Exportelier solo acepta endpoints de Teams nuevos procedentes de Microsoft Teams Workflows.

  1. En el canal de Teams de destino, abra Más opciones (…) → Workflows.
  2. Seleccione Send webhook alerts to a channel. Es la plantilla Anyone. Si crea el flujo de trabajo desde cero, elija el desencadenador When a Teams webhook request is received y establezca su tipo de autenticación en Anyone.
  3. Autentique la cuenta de Microsoft que será propietaria del flujo de trabajo, seleccione el equipo y el canal y añada el flujo de trabajo. Microsoft indica que estas plantillas de webhook de Teams no requieren licencia premium.
  4. Copie la URL generada. Trátela como una contraseña: cualquiera que tenga esta URL firmada puede desencadenar el flujo de trabajo.
  5. En Exportelier Automation, vaya a Configuración → Endpoints de webhook, ponga Canal en Webhook de flujo de trabajo de Microsoft Teams, pegue la URL en Endpoint y haga clic en Añadir endpoint.

Las URL admitidas usan HTTPS en un subdominio de environment.api.powerplatform.com o logic.azure.com. Exportelier no envía una cabecera OAuth; la URL secreta Anyone autoriza la solicitud.

Los mensajes aparecen bajo la identidad predeterminada del bot de Workflows de Microsoft. Microsoft no admite un nombre ni un icono de bot personalizados para estas publicaciones por webhook.

Conectores de Office 365 retirados

Los endpoints *.webhook.office.com almacenados siguen visibles como Acción necesaria para que las programaciones no cambien de forma silenciosa. Cree y pruebe un endpoint de flujo de trabajo nuevo, actualice todas las programaciones afectadas y solo entonces elimine el endpoint heredado. Los endpoints heredados no están disponibles para programaciones nuevas y fallan localmente antes de enviar ninguna solicitud.

2c. Verificar el endpoint

Cada endpoint registrado tiene un botón Probar. Publica un mensaje fijo —

Exportelier test message: this webhook endpoint is configured correctly. No export was generated.

— a través de la misma comprobación de salida, el mismo secreto almacenado y el mismo generador de payload que usa una ejecución programada, de modo que una prueba correcta demuestra la ruta de entrega y no solo el formato de la URL. La fila muestra Entregado si funciona; si falla, el motivo aparece encima de la tabla y coincide con la lista de resolución de problemas de más abajo.

El botón está atenuado mientras la entrega por webhook esté desactivada, porque no se enviaría nada.

3. Seleccionar el endpoint en una programación

Abra Programaciones, edite la programación que debe notificar y añada el destino de entrega Webhook. Elija el Canal y después el Endpoint almacenado: los endpoints se listan por su referencia enmascarada, porque la URL en sí nunca se devuelve al navegador después de guardarla.

Las dos opciones de enlace están activadas de forma predeterminada y pueden desactivarse por separado. Una programación puede combinar destinos: la misma ejecución puede adjuntar el documento a un elemento de Jira y publicar una notificación por webhook. Exportelier completa el destino de adjunto antes que un webhook que solicite el enlace al documento, sin importar el orden mostrado.

Resolución de problemas

No llega nada de inmediato. Exportelier Automation comprueba las programaciones pendientes cada cinco minutos, por lo que una entrega puede retrasarse hasta cinco minutos respecto a la hora configurada. Para comprobar un endpoint sin esperar a una ejecución, use su botón Probar en Configuración → Endpoints de webhook: informa de los mismos mensajes que una ejecución programada.

Compruebe el resultado de la última ejecución. La lista Programaciones tiene una columna Última ejecución con el estado Correcta, Parcialmente correcta o Ejecución fallida, y muestra el motivo del fallo. Una ejecución que generó el documento pero no pudo publicar el webhook se informa como Parcialmente correcta.

MensajeQué significa
Un administrador ha desactivado la entrega por webhook.El interruptor Activar la entrega por webhook en Configuración → Entrega externa está desactivado.
El endpoint del webhook no está configurado.El endpoint almacenado se revocó en Exportelier mientras una programación seguía usándolo. Regístrelo de nuevo y vuelva a seleccionarlo en la programación.
El secreto almacenado no coincide con este canal de webhook.El canal de la programación se cambió al otro proveedor sin elegir un endpoint correspondiente.
El endpoint del webhook rechazó la solicitud.El proveedor respondió con un error, normalmente un webhook revocado en Slack o un flujo de trabajo de Teams desactivado o eliminado. Cree un endpoint nuevo en el lado del proveedor.
Un webhook de Slack debe usar una URL https de hooks.slack.com.La URL se rechazó al guardarla. Cópiela de nuevo desde la página Incoming Webhooks de la app de Slack.
Este conector de Microsoft Teams ya no es compatible.Un conector *.webhook.office.com retirado. Sustitúyalo por un endpoint de flujo de trabajo como se describe arriba.

No llega nada al canal, pero la ejecución figura como correcta. Tanto Slack como Teams responden 200 antes de renderizar el mensaje. Compruebe que el webhook sigue vinculado al canal que espera: en Slack en Incoming Webhooks, en Teams en Workflows.

Fiabilidad y seguridad

  • La entrega por webhook está desactivada de forma predeterminada y requiere la confirmación explícita de un administrador.
  • Las URL de los endpoints se almacenan como secretos cifrados de Forge, nunca se devuelven al navegador después de guardarlas y solo se muestran como una referencia enmascarada. No deben incluirse en tickets, capturas de pantalla ni registros.
  • Las opciones de enlace activadas envían la dirección del sitio de Jira y, en exportaciones de un solo elemento, la clave del elemento al proveedor externo. Las URL generadas no contienen credenciales ni parámetros de consulta firmados y siguen requiriendo autenticación y permisos de Jira.
  • Las solicitudes expiran a los 10 segundos y se reintentan una sola vez ante fallos de red, HTTP 429 o 5xx. Una respuesta 4xx es definitiva y no se reintenta.
  • Una respuesta correcta del proveedor, incluidos HTTP 200 o 202, marca el destino como entregado.

Consulte Arquitectura de seguridad para saber cómo se aísla el tráfico saliente, y la página de API para activarlo de forma programática.