Webhooks
Webhooks benachrichtigen ein externes System, wenn ein geplanter Export abgeschlossen ist. Sie werden von der Exportelier Automation-App bereitgestellt und bleiben deaktiviert, bis ein Site-Admin die Webhook-Zustellung einschaltet.
Verfügbare Webhook-Typen
- Slack Incoming Webhook — postet die Exportzusammenfassung als normale Kanalnachricht.
- Microsoft Teams Workflow-Webhook — postet eine Adaptive Card 1.2 über einen vom Kunden angelegten Teams-Workflow.
Die Webhook-Endpunkte mit Typ, maskierter Referenz und Status.
Ein Webhook hängt die erzeugte PDF-, DOCX- oder Markdown-Datei nie an die Anbieter-Nachricht an. Standardmäßig verlinkt ein geplanter Einzelvorgang-Export auf seinen Jira-Vorgang. Hat derselbe Lauf zusätzlich ein erfolgreiches Jira-Anhangsziel, verlinkt die Nachricht auf diesen erzeugten Anhang. Beide Links bleiben in Jira und setzen die entsprechenden Jira-Zugriffsrechte des Empfängers voraus.
Wie die Nachricht aussieht
Beide Kanäle senden dieselbe Zusammenfassungszeile:
Exportelier export "Weekly sprint report": sprint-report-2026-09-01.pdf (14 issues)
- Slack erhält die Zusammenfassung und, wenn verfügbar, anklickbare Links Jira-Vorgang öffnen und Dokument öffnen.
- Teams erhält eine Adaptive Card 1.2 mit der Überschrift
Exportelier export: <Zeitplanname>, derselben Zusammenfassungszeile und, wenn verfügbar, entsprechendenOpenUrl-Aktionen.
Bei Exporten mit mehreren Vorgängen entfällt der Jira-Vorgangslink. Der Dokumentlink entfällt, wenn nicht zuvor ein Jira-Anhangsziel erfolgreich war. Die Endpunkt-Nachricht Testen enthält keinen der Links, weil dabei kein Dokument exportiert oder angehängt wird.
Einrichtung
Beide Kanäle folgen denselben drei Teilen: Zustellung einmalig aktivieren, Endpunkt registrieren, Endpunkt im Zeitplan auswählen.
1. Webhook-Zustellung aktivieren
Öffnen Sie in Exportelier Automation Einstellungen → Externe Zustellung und schalten Sie Webhook-Zustellung aktivieren ein. Es erscheint ein Bestätigungsdialog — an dieser Stelle akzeptiert ein Site-Admin ausdrücklich, dass Daten Atlassian verlassen.
Solange dieser Schalter aus ist, bleibt das Zustellungsziel Webhook in jedem Zeitplan ausgegraut und es wird nie etwas gesendet.
2a. Einen Slack Incoming Webhook registrieren
Slack vergibt Incoming-Webhook-URLs über eine Slack-App:
- Öffnen Sie api.slack.com/apps und wählen Sie Create New App → From scratch. Vergeben Sie einen Namen — zum Beispiel
Exportelier— und wählen Sie den Ziel-Workspace. - Öffnen Sie in der Seitenleiste der App Incoming Webhooks und schalten Sie Activate Incoming Webhooks ein.
- Klicken Sie auf Add New Webhook to Workspace, wählen Sie den Kanal, der die Benachrichtigungen erhalten soll, und bestätigen Sie mit Allow.
- Kopieren Sie die erzeugte Webhook URL. Sie hat die Form
https://hooks.slack.com/services/T…/B…/…. Behandeln Sie sie wie ein Passwort: Jeder, der sie besitzt, kann in diesen Kanal posten. - Gehen Sie in Exportelier Automation zu Einstellungen → Webhook-Endpunkte, setzen Sie Kanal auf Slack Incoming Webhook, fügen Sie die URL in Endpunkt ein und klicken Sie auf Endpunkt hinzufügen.
Exportelier akzeptiert ausschließlich HTTPS-URLs auf dem Host hooks.slack.com. Nachrichten erscheinen unter Name und Symbol der von Ihnen angelegten Slack-App; beides ändern Sie in Slack unter Basic Information → Display Information.
Der Slack Workflow Builder vergibt ebenfalls hooks.slack.com-URLs, aber sie sehen aus wie https://hooks.slack.com/triggers/… und erwarten die benannten Variablen des jeweiligen Workflows statt eines text-Felds. Die Host-Prüfung von Exportelier akzeptiert eine solche URL, im Kanal erscheint jedoch keine lesbare Nachricht. Verwenden Sie einen Incoming Webhook (/services/…) aus einer Slack-App wie oben beschrieben.
2b. Einen Microsoft Teams Workflow-Webhook registrieren
Microsoft hat die Office-365-Connector-Webhooks im Mai 2026 eingestellt. Exportelier akzeptiert neue Teams-Endpunkte deshalb nur noch aus Microsoft Teams Workflows.
- Öffnen Sie im Zielkanal von Teams Weitere Optionen (…) → Workflows.
- Wählen Sie Send webhook alerts to a channel. Dies ist die Vorlage für
Anyone. Wenn Sie den Workflow selbst erstellen, verwenden Sie den Trigger When a Teams webhook request is received und setzen den Authentifizierungstyp auf Anyone. - Authentifizieren Sie das Microsoft-Konto, dem der Workflow gehören soll, wählen Sie Team und Kanal und fügen Sie den Workflow hinzu. Laut Microsoft benötigen diese Teams-Webhook-Vorlagen keine Premium-Lizenz.
- Kopieren Sie die erzeugte URL. Behandeln Sie sie wie ein Passwort: Jeder mit dieser signierten URL kann den Workflow auslösen.
- Gehen Sie in Exportelier Automation zu Einstellungen → Webhook-Endpunkte, setzen Sie Kanal auf Microsoft Teams Workflow-Webhook, fügen Sie die URL in Endpunkt ein und klicken Sie auf Endpunkt hinzufügen.
Unterstützte URLs verwenden HTTPS auf einer Subdomain von environment.api.powerplatform.com oder logic.azure.com. Exportelier sendet keinen OAuth-Header; die geheime Anyone-URL autorisiert den Request.
Nachrichten erscheinen unter der Standardidentität des Microsoft-Workflows-Bots. Microsoft unterstützt für diese Webhook-Posts keinen eigenen Bot-Namen und kein eigenes Symbol.
Gespeicherte *.webhook.office.com-Endpunkte bleiben als Aktion erforderlich sichtbar, damit Zeitpläne nicht stillschweigend verändert werden. Erstellen und testen Sie einen neuen Workflow-Endpunkt, stellen Sie alle betroffenen Zeitpläne um und löschen Sie erst danach den Legacy-Endpunkt. Legacy-Endpunkte stehen für neue Zeitpläne nicht zur Verfügung und brechen lokal ab, bevor ein Request gesendet wird.
2c. Den Endpunkt prüfen
Jeder registrierte Endpunkt hat eine Schaltfläche Testen. Sie sendet eine feste Nachricht —
Exportelier test message: this webhook endpoint is configured correctly. No export was generated.
— über dieselbe Egress-Prüfung, dasselbe gespeicherte Secret und denselben Payload-Builder, die auch ein geplanter Lauf verwendet. Ein erfolgreicher Test belegt damit den Zustellungsweg und nicht nur das URL-Format. Bei Erfolg zeigt die Zeile Zugestellt; bei einem Fehlschlag erscheint der Grund über der Tabelle und entspricht der Fehlersuche-Liste weiter unten.
Solange die Webhook-Zustellung ausgeschaltet ist, ist die Schaltfläche deaktiviert, weil nichts gesendet würde.
3. Den Endpunkt im Zeitplan auswählen
Öffnen Sie Zeitpläne, bearbeiten Sie den Zeitplan, der benachrichtigen soll, und fügen Sie das Zustellungsziel Webhook hinzu. Wählen Sie den Kanal und anschließend den Gespeicherten Endpunkt — Endpunkte werden mit ihrer maskierten Referenz aufgelistet, weil die URL selbst nach dem Speichern nie an den Browser zurückgegeben wird.
Beide Link-Optionen sind standardmäßig aktiviert und lassen sich einzeln ausschalten. Ein Zeitplan kann Ziele kombinieren: Derselbe Lauf kann das Dokument an einen Jira-Vorgang anhängen und zusätzlich eine Webhook-Benachrichtigung posten. Exportelier führt das Anhangsziel vor einem Webhook mit angefordertem Dokumentlink aus, unabhängig von der angezeigten Reihenfolge.
Fehlersuche
Es kommt nicht sofort etwas an. Exportelier Automation prüft alle fünf Minuten auf fällige Zeitpläne, eine Zustellung kann der konfigurierten Zeit also bis zu fünf Minuten hinterherlaufen. Um einen Endpunkt zu prüfen, ohne auf einen Lauf zu warten, verwenden Sie seine Schaltfläche Testen unter Einstellungen → Webhook-Endpunkte — sie meldet dieselben Meldungen wie ein geplanter Lauf.
Prüfen Sie das Ergebnis des letzten Laufs. Die Liste Zeitpläne hat eine Spalte Letzte Ausführung mit dem Status Erfolgreich, Teilweise erfolgreich oder Ausführung fehlgeschlagen und zeigt den Grund eines Fehlschlags. Ein Lauf, der das Dokument erzeugt, den Webhook aber nicht posten konnte, wird als Teilweise erfolgreich gemeldet.
| Meldung | Bedeutung |
|---|---|
| Die Webhook-Zustellung wurde von einem Administrator deaktiviert. | Der Schalter Webhook-Zustellung aktivieren unter Einstellungen → Externe Zustellung ist aus. |
| Der Webhook-Endpunkt ist nicht konfiguriert. | Der gespeicherte Endpunkt wurde in Exportelier entfernt, während ein Zeitplan ihn noch referenziert. Registrieren Sie ihn erneut und wählen Sie ihn im Zeitplan neu aus. |
| Das gespeicherte Secret passt nicht zu diesem Webhook-Kanal. | Der Kanal des Zeitplans wurde auf den anderen Anbieter umgestellt, ohne einen passenden Endpunkt auszuwählen. |
| Der Webhook-Endpunkt hat die Anfrage abgelehnt. | Der Anbieter hat mit einem Fehler geantwortet — typischerweise ein in Slack widerrufener Webhook oder ein deaktivierter bzw. gelöschter Teams-Workflow. Legen Sie auf Anbieterseite einen neuen Endpunkt an. |
| Ein Slack-Webhook muss eine https-URL unter hooks.slack.com verwenden. | Die URL wurde bereits beim Speichern abgelehnt. Kopieren Sie sie erneut von der Seite Incoming Webhooks der Slack-App. |
| Dieser Microsoft-Teams-Connector wird nicht mehr unterstützt. | Ein eingestellter *.webhook.office.com-Connector. Ersetzen Sie ihn wie oben beschrieben durch einen Workflow-Endpunkt. |
Im Kanal kommt nichts an, der Lauf gilt aber als erfolgreich. Slack und Teams antworten beide mit 200, bevor die Nachricht gerendert wird. Prüfen Sie, ob der Webhook noch an den erwarteten Kanal gebunden ist — in Slack unter Incoming Webhooks, in Teams unter Workflows.
Zuverlässigkeit und Sicherheit
- Die Webhook-Zustellung ist standardmäßig aus und erfordert eine ausdrückliche Admin-Bestätigung.
- Endpunkt-URLs werden als verschlüsselte Forge Secrets gespeichert, nach dem Speichern nie an den Browser zurückgegeben und nur als maskierte Referenz angezeigt. Sie gehören nicht in Tickets, Screenshots oder Logs.
- Aktivierte Link-Optionen senden die Jira-Site-Adresse und bei Einzelvorgang-Exporten den Vorgangsschlüssel an den externen Anbieter. Die erzeugten URLs enthalten keine Zugangsdaten oder signierten Abfrageparameter und setzen weiterhin Jira-Anmeldung und -Berechtigungen voraus.
- Requests haben ein Timeout von 10 Sekunden und werden nur bei Netzwerkfehlern, HTTP
429oder5xxeinmal wiederholt. Eine4xx-Antwort ist endgültig und wird nicht wiederholt. - Eine erfolgreiche Provider-Antwort, einschließlich HTTP
200oder202, markiert das Ziel als zugestellt.
Siehe Sicherheitsarchitektur dazu, wie Egress isoliert ist, und die API-Seite zum programmatischen Auslösen.