Webhooks
Ein Webhook ist ein HTTP-Aufruf, der durch ein Ereignis ausgelöst wird. Sie können Webhooks verwenden, um Instant Trigger Module zu aktivieren. Jede Anwendung, die mit dem Internet verbunden ist und HTTP-Anfragen zulässt, kann Webhooks an Adobe Workfront Fusion senden.
Zugriffsanforderungen
Sie müssen über den folgenden Zugriff verfügen, um die Funktionalität in diesem Artikel verwenden zu können:
*Wenden Sie sich an Ihren Workfront-Administrator, um zu erfahren, welchen Plan, welchen Lizenztyp oder welchen Zugriff Sie haben.
**Informationen zu Adobe Workfront Fusion Lizenzen finden Sie unter Adobe Workfront Fusion Lizenzen
Webhook in Workfront Fusion verwenden
So verwenden Sie einen Webhook, um eine App mit Workfront Fusion zu verbinden:
-
Fügen Sie das Instant-Trigger-Modul Webhooks >Benutzerspezifischer Webhook zu Ihrem Szenario hinzu.
-
Klicken Sie auf Hinzufügen neben dem Webhook-Feld und geben Sie einen Namen für den neuen Webhook ein.
-
(Optional) Klicken Sie auf Erweiterte Einstellungen.
-
Geben Sie im Feld IP-Beschränkungen eine kommagetrennte Liste der IP-Adressen ein, von denen das Modul Daten akzeptieren kann.
-
Klicken Sie auf Speichern
Nachdem Sie einen Webhook erstellt haben, wird eine eindeutige URL angezeigt. Dies ist die Adresse, an die der Webhook Daten sendet. Workfront Fusion validiert die an diese Adresse gesendeten Daten und gibt sie dann zur Verarbeitung im Szenario weiter.
Datenstruktur des Webhooks konfigurieren configure-the-webhook-s-data-structure
Um die Datenstruktur der eingehenden Payload zu erkennen, analysiert Workfront Fusion Beispieldaten, die Sie an die angezeigte Adresse senden. Sie können die Beispieldaten bereitstellen, indem Sie eine Änderung im Dienst oder in der App vornehmen, die dazu führt, dass dieser Dienst oder diese App den Webhook aufruft. Sie können beispielsweise eine Datei entfernen.
Sie können auch die folgenden Schritte ausführen, um die Beispieldaten über das Modul HTTP > Anfrage stellen zu senden.
-
Erstellen Sie ein neues Szenario mit dem Modul HTTP > Anfrage stellen .
-
Konfigurieren Sie das Modul mit den folgenden Werten:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 layout-auto html-authored no-header URL Geben Sie die URL des Webhooks ein. Sie finden diese URL im Modul Webhooks, das Sie zum Einrichten des Webhooks verwendet haben. Methode POST Textkörper Raw Inhaltstyp JSON (application/json) Anforderungsinhalt Rohe JSON im Webhook erwartet -
Öffnen Sie das Szenario mit dem Modul Webhooks in einer separaten Browser-Registerkarte oder einem separaten Fenster.
-
Klicken Sie im webhooks-Modul auf Datenstruktur neu bestimmen.
Sie müssen die Verknüpfung anderer Module nicht vom Webhooks-Modul aufheben.
-
Wechseln Sie mit dem Modul HTTP zum Szenario und führen Sie es aus.
-
Wechseln Sie mit dem Webhooks-Modul zurück zum Szenario.
Die Meldung "Erfolgreich bestimmt" bedeutet, dass das Modul die Datenstruktur erfolgreich ermittelt hat.
-
Klicken Sie auf OK , um die Datenstruktur zu speichern.
Die Elemente des Webhooks sind jetzt im Zuordnungsbereich für die Verwendung mit nachfolgenden Modulen im Szenario verfügbar.
Die Webhook-Warteschlange
Wenn ein Webhook Daten erhält und kein aktives Szenario mit diesen Daten verbunden ist, werden die Daten in der Warteschlange gespeichert. Nachdem Sie das Szenario aktiviert haben, werden alle Pakete, die in der Warteschlange warten, nacheinander verarbeitet.
Unterstützte eingehende Datenformate
Workfront Fusion unterstützt 3 eingehende Datenformate: Abfragezeichenfolge, Formulardaten und JSON.
Workfront Fusion validiert alle eingehenden Daten mit der ausgewählten Datenstruktur. Anschließend werden die Daten je nach den Einstellungen des Szenarios entweder zur Verarbeitung in der Warteschlange gespeichert oder sofort verarbeitet.
Wenn ein Teil der Daten die Validierung nicht besteht, gibt Workfront Fusion einen 400-HTTP-Statuscode zurück und gibt im Text der HTTP-Antwort den Grund an, warum die eingehenden Daten bei den Validierungsprüfungen fehlgeschlagen sind. Wenn die Validierung der eingehenden Daten erfolgreich ist, gibt Workfront Fusion den Status "200 Akzeptiert"zurück.
Abfragezeichenfolge
GET https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>?name=<yourname>&job=automate
Formulardaten
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/x-www-form-urlencoded
name=<yourname>&job=automate
Formulardaten mit mehreren Elementen
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: multipart/form-data; boundary=---generatedboundary
---generatedboundary
Content-Disposition: form-data; name="file"; filename="file.txt"
Content-Type: text/plain
Content of file.txt
---generatedboundary
Content-Disposition: form-data; name="name"
Workfront Fusion
---generatedboundary
Um mit multipart/form-data
kodierte Dateien zu erhalten, müssen Sie eine Datenstruktur mit einem Feld vom Typ collection
konfigurieren, das die verschachtelten Felder name
, mime
und data
enthält. Das Feld name
ist ein text
-Typ und enthält den Namen der hochgeladenen Datei. Die mime
ist ein text
-Typ und enthält eine Datei im MIME-Format. Das Feld data
ist ein buffer
-Typ und enthält Binärdaten für die zu übertragende Datei.
Weitere Informationen zum MIME-Format finden Sie unter MIME-Module.
JSON
POST https://app.workfrontfusion.com/wh/<yourunique32characterslongstring>
Content-Type: application/json
{"name": "Workfront Fusion", "job": "automate"}
- Klicken Sie auf Hinzufügen , um einen neuen Webhook hinzuzufügen.
- Klicken Sie auf Erweiterte Einstellungen anzeigen.
- Klicken Sie auf JSON-Pass-Through.
Webhook-Header
Um auf die Header des Webhooks zuzugreifen, aktivieren Sie beim Einrichten des Webhooks die Option Anforderungsheader abrufen .
- Klicken Sie auf Hinzufügen , um einen neuen Webhook hinzuzufügen.
- Klicken Sie auf Erweiterte Einstellungen anzeigen.
- Klicken Sie auf Anforderungsheader abrufen.
Sie können einen bestimmten Kopfzeilenwert mit der Kombination von map()
- und get()
-Funktionen extrahieren.
authorization
aus dem Array Headers[]
extrahiert. Die Formel wird in einem Filter verwendet, der den extrahierten Wert mit dem angegebenen Text vergleicht, um nur Webhooks zu übergeben, wenn eine Übereinstimmung vorliegt.Antworten auf Webhooks
Die Standardantwort auf einen Webhook-Aufruf ist der Text "Akzeptiert". Die Antwort wird während der Ausführung des Benutzerspezifischen Webhook-Moduls an die App zurückgegeben, die den Webhook aufgerufen hat.
Testen der Antwort auf einen Webhook
-
Schließen Sie das Modul Benutzerspezifischer Webhook in Ihr Szenario ein.
-
Fügen Sie dem Modul einen neuen Webhook hinzu.
-
Kopieren Sie die Webhook-URL in die Zwischenablage.
-
Führen Sie das Szenario aus.
Das Blitzsymbol im Modul Benutzerspezifischer Webhook ändert sich in Drehpunkte. Dies zeigt, dass das Modul jetzt auf den Webhook-Aufruf wartet.
-
Öffnen Sie ein neues Browser-Fenster, fügen Sie die kopierte URL in die Adressleiste ein und drücken Sie Enter.
Das Modul Benutzerspezifischer Webhook wird ausgelöst und der Browser zeigt eine neue Seite an.
Wenn Sie die Webhook-Antwort anpassen möchten, wenden Sie das Modul Webhook Response an.
Die Konfiguration des Moduls umfasst zwei Felder: Status und Textkörper.
-
Das Feld Status enthält HTTP-Antwortstatus-Codes wie 2xx für Erfolg (z. B.
200
für OK), 3xx für Umleitung (z. B.307
für temporäre Umleitung), 4xx für Client-Fehler (z. B.400
für fehlerhafte Anfragen) usw. -
Das Feld Hauptteil enthält alles, was vom Webhook-Aufruf akzeptiert wird. Dabei kann es sich um einfachen Text, HTML, XML, JSON usw. handeln.
note tip TIP Es wird empfohlen, die Kopfzeile Content-Type
auf den entsprechenden MIME-Typ festzulegen:text/plain
für Klartext,text/html
für HTML,application/json
für JSON,application/xml
für XML usw. Weitere Informationen zu MIME-Typen finden Sie unter MIME-Module.
Die Zeitüberschreitung für das Senden einer Antwort beträgt 40 Sekunden. Wenn die Antwort innerhalb dieses Zeitraums nicht verfügbar ist, gibt Workfront Fusion den Status "200 Akzeptiert"zurück.
HTML-Antwortbeispiel
table 0-row-2 1-row-2 2-row-2 layout-auto html-authored no-header | |
---|---|
Status | 2xx Erfolg HTTP-Status-Code, z. B. 200 |
Body | HTML-Code |
Benutzerdefinierte Kopfzeilen |
>
|
Beispiel einer Umleitung
table 0-row-2 1-row-2 layout-auto html-authored no-header | |
---|---|
Status | 3xx-Weiterleitungs-HTTP-Status-Code, z. B. 303 |
Benutzerdefinierte Kopfzeilen |
>
|
Webhook-Deaktivierung
Webhooks werden automatisch deaktiviert, wenn eine der folgenden Aktionen zutrifft:
- Der Webhook ist seit mehr als 5 Tagen mit keinem Szenario verbunden
- Der Webhook wird nur in inaktiven Szenarien verwendet, die seit mehr als 30 Tagen inaktiv sind.
Deaktivierte Webhooks werden automatisch gelöscht und abgemeldet, wenn sie mit keinem Szenario verbunden sind und seit über 30 Tagen den Status deaktiviert haben.
Fehlerbehebung
Fehlende Elemente im Zuordnungsbereich
Wenn im Mapping-Bedienfeld bei der Einrichtung der Module einige Elemente fehlen, die dem Modul Webhooks > Benutzerspezifischer Webhook folgen, klicken Sie auf das Modul Webhooks > Benutzerspezifischer Webhook , um dessen Einrichtung zu öffnen, und klicken Sie auf Datenstruktur neu bestimmen:
Führen Sie dann die im Abschnitt Datenstruktur des Webhooks konfigurieren in diesem Artikel beschriebenen Schritte aus.