REST API-Auslöser

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 4 Minuten Lesedauer
  • Starten Sie einen Flow über einen eingehenden API-Aufruf oder einen Webhook über ein externes System. Konfigurieren Sie die Startbedingungen für Auslöser, ohne anwenderdefinierten Code schreiben oder pflegen zu müssen.

    Sie können beispielsweise einen Flow erstellen, der startet, wenn das IT-Ticketnachverfolgungssystem eines Drittanbieters eine eingehende Anforderung an die -Instanz sendet. Anschließend können Sie die Daten aus der eingehenden REST-Anforderung in ein komplexes Datenobjekt analysieren und die Werte verwenden, um einen Incident in Ihrer -Instanz zu öffnen.

    Sobald Sie den Flow aktiviert haben, wird der von Ihnen erstellte Endpunkt im API-Explorer unter dem von Ihnen erstellten Namespace angezeigt. Auf dieser Seite können Sie den Webhook in Ihrem Drittparteisystem definieren und Ihren Flow testen.

    Weitere Informationen zu Flow-Auslösern finden Sie unter Workflow-Studio Auslösertypen.

    Hinweis:
    Verwenden Sie den REST-API-Auslöser, um Flows über REST-Aufrufe von externen Systemen zu starten. Um einen Flow aus einem Skript oder API-Aufruf derselben Instanz zu starten, verwenden Sie einen Subflow, ein Codefragment oder die Workflow-Studio API. Siehe API-Zugriff auf Workflow-Studio und Code-Fragmente für Flows, Subflows und Aktionen erstellen.

    Verfügbare Datenpillen

    Je nachdem, wie Sie den Endpunkt konfigurieren, haben Flow Designer über den Auslöser Zugriff auf diese Datenpillen:

    Pfadparameter
    Ein Objekt, das Pfadparameter in der eingehenden Anforderung enthält.
    Abfrageparameter
    Ein Objekt, das Abfrageparameter in der eingehenden Anforderung enthält.
    Anforderungsheader
    Ein Objekt, das Header in der eingehenden Anforderung enthält.
    Anforderungstext
    Komplexes Datenobjekt, das die Textstruktur der eingehenden Anforderung definiert. Weitere Informationen zu komplexen Objekten finden Sie unter Complex data.

    Definieren Sie beim Einrichten des Auslösers, wie die eingehenden Daten aussehen. Sie können dann die zugehörigen Datenpillen innerhalb der Aktionen in Ihrem Flow verwenden. Wenn das System eine eingehende Anforderung erhält, die den Flow startet, verwendet es die in der Anforderung gesendeten Laufzeitwerte.

    Erstellen Sie einen Flow mit dem REST-API-Auslöser

    Erstellen Sie einen Flow, der startet, wenn ein Drittanbietersystem eine REST-Anforderung an Ihre -Instanz sendet.

    Vorbereitungen

    Erforderliche Rolle: flow_designer oder admin.

    Hinweis:
    Diese Funktion erfordert ein IntegrationHub Enterprise-Abonnement. Weitere Informationen finden Sie unter IntegrationHub anfordern.

    Prozedur

    1. Öffnen Sie Workflow-Studio, und erstellen Sie einen Flow.

      Weitere Informationen finden Sie unter Flow erstellen.

      Denken Sie daran, dass der Umfang Ihres Flows in dem von Ihnen erstellten REST-Endpunkt enthalten ist.

    2. Wählen Sie im Abschnitt TRIGGER die Option REST API – Asynchronous trigger (REST-API – Asynchroner Auslöser) aus.
    3. Legen Sie im Feld HTTP-Methode die HTTP-Methode für den Endpunkt fest.
      Verfügbare Optionen:
      • POST
      • GET
      • LÖSCHEN
      • PUT
      • PATCH
    4. Erstellen Sie alle für den Endpunkt erforderlichen Pfadparameter, und fügen Sie sie dem relativen Pfad im Feld Pfad hinzu.
      Der relative Pfad zum Endpunkt hat das Format „/api/“.<flow-application-scope> /<flow-name> /<path-parameters> .

      Sie können auf Kopieren klicken, um den vollständigen Pfad zum Endpunkt zu kopieren. Verwenden Sie diesen Pfad, wenn Sie den Endpunkt für den REST-Aufruf in Ihrem Drittparteisystem konfigurieren.

      1. Erstellen Sie Variablen im Abschnitt Pfadparameter.
      2. Ziehen Sie die Datenpille, die den Pfadparameter darstellt, in die leere Eingabe im Feld Pfad.

        Dieses Feld akzeptiert nur Datenpillen aus dem Abschnitt „ Pfadparameter “.

    5. Wählen Sie Erfordert Authentifizierung aus, um Authentifizierungsheader in der eingehenden REST-Anforderung erforderlich zu machen.
    6. Wenn Erfordert Authentifizierung ausgewählt ist, fügen Sie im Feld Erfordert Rollen die Rollen hinzu, die zum Autorisieren der Anforderung erforderlich sind.
    7. Erstellen Sie im Feld Textkörper unter dem Abschnitt Anforderungsinhalt ein komplexes Datenobjekt, das die Textstruktur der eingehenden Anforderung definiert.

      Weitere Informationen zum Erstellen eines komplexen Objekts finden Sie unter Komplexe Daten.

      Hinweis:
      Der Abschnitt „ Inhalt anfordern “ wird nur angezeigt, wenn die HTTP-Methode POST, PUT oder PATCH ausgewählt ist.

      In diesem Beispieltext findet sich das Beschreibungsfeld in einer eingehenden Nutzlast, die Ticketinformationen aus einem Ticketnachverfolgungssystem eines Drittanbieters enthält.

    8. Definieren Sie im Feld Header die Header, die in der eingehenden Anforderung gesendet werden sollen.
      Sie können Erforderlich auswählen, um festzulegen, dass die eingehende Anforderung sie enthält.
    9. Definieren Sie im Feld Abfrageparameter die Abfrageparameter, die in der eingehenden Anforderung gesendet werden sollen.
      Sie können Erforderlich auswählen, um festzulegen, dass die eingehende Anforderung sie enthält.
    10. Fügen Sie Ihrem Flow Aktionen hinzu, die ausgeführt werden, wenn der Endpunkt aufgerufen wird.

      Sie können die Datenpillen aus dem REST-API-Auslöser in Ihren Flow-Aktionen verwenden.

      Diese Aktion erstellt einen Incident-Datensatz und ordnet die Felder Beschreibung und Zuweisungsgruppe aus der eingehenden Nutzlast dem Incident zu.

    11. Testen und aktivieren Sie den Flow.
      Weitere Informationen finden Sie unter Flow testen und Flowaktivieren.

      Nach der Aktivierung wird der Endpunkt im REST-API-Explorer angezeigt. Sie können diese Seite verwenden, um Ihren Endpunkt weiter zu testen oder die Anforderung von Ihrem Drittparteisystem aus zu konfigurieren.

    12. Konfigurieren Sie die REST-Anforderung von Ihrem Drittparteisystem aus.
      Sie können beispielsweise diese cURL-Anforderung senden, um den in den vorherigen Schritten definierten Flow auszulösen.
      curl "https:your-instance.servicenow.com/api/now/create_incident_from_external_event/assignment_group/287ebd7da9fe198100f92cc8d1d2154e" \
      --request POST \
      --header "Accept:application/json" \
      --header "Content-Type:application/json" \
      --data "{
      fields: {
         description: \"Major outage with data loss\"
         }
      }" \
      --user 'username':'password'

    Ergebnisse

    Der Flow wird ausgeführt, und die REST-Anforderung gibt die Ausführungs-ID zurück.
    {
      "result": {
        "executionId": "ndoxeRhshDSezldeGfbYlviFSeFnBjCO"
      }
    }

    Nächste Maßnahme

    Kopieren Sie die Ausführungs-ID im Ergebnis, und navigieren Sie in Flow Designer zur Registerkarte Ausführungen. Sie können nach Ausführungs-ID filtern, um die Ausführungsdetails zu finden und den Status der Ausführung anzuzeigen.

    Zur Behebung von Problemen können Sie die REST-Abfrage debuggen oder die Flow-Ausführungsdetails überprüfen. Siehe REST-Abfragen debuggen und Flow-Ausführungsdetails.