Erste Schritte mit dynamischen Ausgaben
Erstellen Sie eine Beispielaktion, die dynamische Objekte zur Verwendung in einem Flow erstellt.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
- Ein REST-Schritt zum Erfassen von Tabellenschemadaten aus Ihrer Instanz.
- Ein Skriptschritt zum Erstellen der Nutzlast aus dem Antworttext des REST-Schritts.
- Eine Ausgabevariable mit dem Namen
Ausgabevom Typ JSON.
Hinweis:
Mit dieser Aufgabe werden die Demoaktionen neu erstellt, die installiert wurden, wenn Sie Fordern Sie eine an IntegrationHub Plugin für Ihre Instanz.
Prozedur
- Navigieren zu Alle > Prozessautomatisierung > Flow Designer.
-
Klicken Sie auf Neu, und wählen Sie Neue Aktionaus.
- Geben Sie im Bildschirm „Aktionseigenschaften“ im Feld NameServiceNow-Objektschema abrufen (dynamisch)ein.
- Klicken Sie auf Absenden.
-
Klicken Sie in der Aktionsgliederung auf Eingaben.
- Klicken Sie im Header „Aktionseingabe“ auf Eingabe erstellen.
- Geben Sie in die Felder Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Type die Option Zeichenfolge aus.
- Um diese Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf „ Obligatorisch “ um.
-
Klicken Sie in der Aktionsgliederung unter Eingaben auf das Symbol zum Hinzufügen eines neuen Schritts (Symbol zum
), und wählen Sie REST-Schrittaus.
-
Füllen Sie unter dem REST-Schritt-Header die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie die Option Verbindungsalias verwenden ausgewählt. Verbindungsalias Klicken Sie auf das Symbol „ “ (Symbol „Neuen Datensatz erstellen“ ), um eine neue HTTP(s)-Verbindung erstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen die Anmeldeinformationen der Basic Authenticationverwenden. Darüber hinaus muss die Verbindungs-URL die Basis-URL für Ihre Instanz sein, einschließlich des Schrägstrichs am Ende. Weitere Informationen zu Verbindungen und Anmeldeinformationen finden Sie unter Erste Schritte mit Verbindungen und Erste Schritte mit Anmeldeinformationen.
Build-Anforderung Lassen Sie die Option Manuell ausgewählt. Ressourcenpfad Geben Sie api/now/processflow/table/ ein, und klicken Sie dann auf die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle. Geben Sie als Nächstes /schemaein.
HTTP-Methode Geben Sie GET ein Abfrageparameter Klicken Sie auf das Plus-Symbol ( , um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann im Feld Nameget_choices und true im Feld Wert ein.
-
Klicken Sie in der Aktionsgliederung unter Ihrem REST-Schritt auf das Symbol zum Hinzufügen eines neuen Schritts (Symbol zum
), und wählen Sie den Schritt Skript aus.
- Klicken Sie im Abschnitt Eingabevariablen auf Variable erstellen.
- Geben Sie im Feld Name den Namen payloadein.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie REST-Schritt > Antworttext:.
-
Geben Sie in das Feld Skript den folgenden Code ein.
(function execute(inputs, outputs) { var payload = JSON.parse(inputs.payload); var columns = payload.result.data.columns; var schema = columns.map(function(column) { var value = { label: column.label, name: column.name, type: getCOType(column.definition.base_type), }; if (column.definition.type === 'choice') { value.type = 'choice'; value.choices = column.definition.choices; } if (column.definition.base_type === 'GUID') { value.children = [ { label: 'Link', name: 'link', type: 'string' }, { label: 'Value', name: 'value', type: 'string' }, ]; } return value; }); outputs.schema = { data: { type: 'object', children: schema, }, }; function getCOType(type) { if (type === 'GUID') return 'reference'; return type; } })(inputs, outputs); - Klicken Sie im Abschnitt „Ausgabevariablen“ auf Variable erstellen.
- Geben Sie in die Felder Bezeichnung und Nameschemaein.
- Wählen Sie im Feld Typ die Option JSONaus.
-
Klicken Sie in der Aktionsgliederung auf Ausgaben.
- Klicken Sie im Header der Aktionsausgabe auf Ausgabe erstellen.
- Geben Sie in die Felder Bezeichnung und NameAusgabeein.
- Wählen Sie im Feld Typ die Option JSONaus.
- Klicken Sie im Header der Aktionsausgabe auf Bearbeitungsmodus beenden.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie Skriptschritt > Schema.
-
Klicken Sie im Header Aktion auf Speichern und dann auf Test, um die Aktionzu testen.
- Geben Sie im Bildschirm „Testaktion“ incident für die Eingabe Tabelle ein.
- Klicken Sie auf Test ausführen.
- Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Datenerfassungsaktion wird erfolgreich ausgeführt, wenn der Laufzeitwert fürFelderein komplexes Objekt in einem Format ist, das dem folgenden abgekürzten Beispiel ähnelt.{ "data": { "type": "object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ... - Klicken Sie im Header Aktion auf Veröffentlichen, um die Aktion Get ServiceNow Object Schema (Dynamic) für andere Flows und Aktionen im globalen Bereich verfügbar zu machen.
Erstellen Sie die Aktion ServiceNow Array.Object-Schema abrufen (dynamisch).
Erstellen Sie eine Beispieldatenerfassungsaktion, um ein Array von Objekten zu generieren.
Vorbereitungen
Prozedur
-
Klicken Sie im Hauptheader auf das Symbol zum Erstellen von Flows, Subflows oder Aktionen (Symbol zum
) und wählen Sie Aktionaus.
- Geben Sie im Bildschirm „Aktionseigenschaften“ im Feld Name den Text ServiceNow Array.Object-Schema abrufen (dynamisch)ein.
- Klicken Sie auf Absenden.
-
Klicken Sie in der Aktionsgliederung auf Eingaben.
- Klicken Sie im Header „Aktionseingabe“ auf Eingabe erstellen.
- Geben Sie in die Felder Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Type die Option Zeichenfolge aus.
- Um die Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf „ Obligatorisch “ um.
-
Klicken Sie in der Aktionsgliederung unter Eingaben auf das Symbol zum Hinzufügen eines neuen Schritts (Symbol für
) und wählen Sie den REST -Schritt aus.
-
Füllen Sie unter dem REST-Schritt-Header die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie Verbindungsalias verwenden ausgewählt. Verbindungsalias Klicken Sie auf das Symbol „ “ (Symbol „Neuen Datensatz erstellen“ ), um eine neue HTTP(s)-Verbindung erstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen die Anmeldeinformationen der Basic Authenticationverwenden. Darüber hinaus muss die Verbindungs-URL die Basis-URL für Ihre Instanz sein, einschließlich des Schrägstrichs am Ende.
Build-Anforderung Lassen Sie die Option Manuell ausgewählt. Ressourcenpfad Geben Sie api/now/processflow/table/ ein, und klicken Sie dann auf die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle. Geben Sie abschließend /schemaein
HTTP-Methode Geben Sie GET ein Abfrageparameter Klicken Sie auf das Plus-Symbol ( , um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann im Feld Nameget_choices und trueim Feld Wert ein.
-
Klicken Sie in der Aktionsgliederung auf das
für neuen Schritt ) unter Ihrem REST-Schritt, und wählen Sie den Schritt Skript aus.
- Klicken Sie im Abschnitt Eingabevariablen auf Variable erstellen.
- Geben Sie im Feld Name den Namen payloadein.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie REST-Schritt > Antworttext:.
-
Geben Sie in das Feld Skript den folgenden Code ein.
(function execute(inputs, outputs) { var payload = JSON.parse(inputs.payload); var columns = payload.result.data.columns; var schema = columns.map(function(column) { var value = { label: column.label, name: column.name, type: getCOType(column.definition.base_type), }; if (column.definition.type === 'choice') { value.type = 'choice'; value.choices = column.definition.choices; } return value; }); outputs.schema = { data: { type: 'array.object', attributes: { child_type: 'object', }, children: schema, }, }; function getCOType(type) { if (type === 'GUID') return 'string'; return type; } })(inputs, outputs); - Klicken Sie im Abschnitt „Ausgabevariablen“ auf Variable erstellen.
- Geben Sie in die Felder Bezeichnung und Nameschemaein.
- Wählen Sie im Feld Typ die Option JSONaus.
-
Klicken Sie in der Aktionsgliederung auf Ausgaben.
- Klicken Sie im Header der Aktionsausgabe auf Ausgabe erstellen.
- Geben Sie die Ausgabe in die Felder Bezeichnung und Name ein.
- Wählen Sie JSON für das Feld Typ aus.
- Klicken Sie auf Bearbeitungsmodus beenden.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie Skriptschritt > Schema.
-
Klicken Sie im Header Aktion auf Speichern und dann auf Test, um die Aktionzu testen.
- Geben Sie im Bildschirm „Testaktion“ im Feld Tabelle den Wert incidentein.
- Klicken Sie auf Test ausführen.
-
Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Datenerfassungsaktion wird erfolgreich ausgeführt, wenn der Laufzeitwert für die
Feldausgabeein komplexes Objekt ist, das ein Array von Schlüssel-Wert-Paaren fürBezeichnung,NameundWertenthält, wie im folgenden abgekürzten Beispiel gezeigt.{ "data": { "type": "array.object", "children": [ { "name": "active", "label": "Active", "type": "boolean" }, { "name": "activity_due", "label": "Activity due", "type": "datetime" }, ...
- Klicken Sie im Header Aktion auf Veröffentlichen, um die Aktion Get ServiceNow Array.Object Schema (Dynamic) für andere Aktionen im globalen Bereich verfügbar zu machen.
Erstellen Sie die Aktion ServiceNow-Datensätze abrufen (dynamisch).
Erstellen Sie eine Beispielaktion, um dynamisch zwei Aktionsausgaben zu generieren, Datensatz und Datensätze, die dynamisch aktualisiert werden, wenn sich der Wert für die Eingabe Tabelle ändert.
Vorbereitungen
Prozedur
-
Klicken Sie im Hauptheader auf das Symbol zum Erstellen von Flows, Subflows oder Aktionen (Symbol zum
) und wählen Sie Aktionaus.
- Geben Sie im Dialogfeld „Aktionseigenschaften“ im Feld NameServiceNow-Datensätze abrufen (dynamisch)ein.
- Klicken Sie auf Absenden.
-
Klicken Sie in der Aktionsgliederung auf Eingaben.
- Klicken Sie im Header „Aktionseingabe“ auf Eingabe erstellen.
- Geben Sie in die Felder Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Typ die Option Dynamische Auswahlaus.
- Um die Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf „ Obligatorisch “ um.
-
Klicken Sie auf das Symbol „Erweiterte Eingaben umschalten“ (Symbol „
“ ), um die erweiterten Optionen für die Eingabe
Tabelleanzuzeigen. - Geben Sie im Feld Standardwertincidentein.
- Wählen Sie unter Dynamische Optionen im Feld Aktion die Option ServiceNow-Tabellen abrufen – dynamischaus.
- Klicken Sie auf Eingabe erstellen, um eine weitere Aktionseingabe zu erstellen.
- Geben Sie in die Felder Bezeichnung und NameNumberOfRecordsein.
- Wählen Sie im Feld Typ die Option Ganzzahlaus.
- Um die Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf „ Obligatorisch “ um.
-
Klicken Sie auf das Symbol „Erweiterte Eingaben umschalten“ (Symbol „
“ ), um die erweiterten Optionen für die Eingabe
Tabelleanzuzeigen. - Geben Sie im Feld Standardwert3ein.
-
Klicken Sie in der Aktionsgliederung unter Eingaben auf das Symbol zum Hinzufügen eines neuen Schritts (Symbol für
) und wählen Sie den REST -Schritt aus.
-
Füllen Sie unter dem REST-Schritt-Header die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie Verbindungsalias verwenden ausgewählt. Verbindungsalias Klicken Sie auf das Symbol „ “ (Symbol „Neuen Datensatz erstellen“ ), um eine neue HTTP(s)-Verbindung erstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen die Anmeldeinformationen der Basic Authenticationverwenden. Darüber hinaus muss die Verbindungs-URL die Basis-URL für Ihre Instanz sein, einschließlich des Schrägstrichs am Ende.
Build-Anforderung Lassen Sie die Option Manuell ausgewählt Ressourcenpfad Geben Sie api/now/table/ ein, und klicken Sie dann auf die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle.
HTTP-Methode Geben Sie GET ein Abfrageparameter Klicken Sie auf das Plus-Symbol ( , um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann sysparm_limit in das Feld Name ein. Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie sie aus Eingaben > Anzahl der Datensätze.
-
Klicken Sie in der Aktionsgliederung unter Eingaben auf das Symbol zum Hinzufügen eines neuen Schritts (Symbol für
) und wählen Sie den Schritt Skript aus.
- Klicken Sie im Abschnitt Eingabevariablen auf Variable erstellen.
- Geben Sie im Feld Name den Namen payloadein.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie REST-Schritt > Antworttext:.
-
Geben Sie in das Feld Skript den folgenden Code ein.
(function execute(inputs, outputs) { var response = JSON.parse(inputs.payload); var records = response.result; outputs.record = records[0]; outputs.records = JSON.stringify(records); })(inputs, outputs); - Klicken Sie im Abschnitt „Ausgabevariablen“ auf Variable erstellen.
- Geben Sie in den Feldern Bezeichnung und NameDatensatzein.
- Wählen Sie JSON für das Feld Typ aus.
- Schalten Sie den Schieberegler auf „ Obligatorisch “ um.
- Klicken Sie auf Variable erstellen, um eine weitere Ausgabevariable für den Skriptschritt zu erstellen.
- Geben Sie in die Felder Bezeichnung und NameDatensätzeein.
- Wählen Sie im Feld Typ die Option JSONaus.
- Um die Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf „ Obligatorisch “ um.
-
Klicken Sie in der Aktionsgliederung auf Ausgaben.
- Klicken Sie im Header der Aktionsausgabe auf Ausgabe erstellen.
- Geben Sie in die Felder Bezeichnung und NameDatensätzeein.
- Wählen Sie im Feld Typ die Option Dynamisches Objektaus.
-
Klicken Sie auf das Symbol „Erweiterte Eingaben umschalten“ (Symbol „
“ ), um die erweiterten Optionen für die Ausgabe „
Datensätze“ anzuzeigen. - Wählen Sie unter Dynamische Optionen die Option ServiceNow Array.Object-Schema abrufen (dynamisch) als Aktionaus.
- Um die Tabelleneingabe von einer anderen Eingabe abhängig zu machen, schalten Sie den Schieberegler „Abhängig von einer anderen Eingabe“ um, um ihn zu aktivieren.
- Wählen Sie im Feld Tabellee die Option Tabelleaus.
- Klicken Sie im Header der Aktionsausgabe auf Bearbeitungsmodus beenden.
-
Klicken Sie neben dem Feld Wert auf die Datenpillenauswahl (
), und wählen Sie Skriptschritt > Datensätze.
- Klicken Sie im Header der Aktionsausgabe auf Bearbeiten Sie Ausgaben > Ausgabe erstellen , um eine weitere Aktionsausgabe zu erstellen.
- Geben Sie in die Felder Bezeichnung und NameDatensatzein.
- Wählen Sie im Feld Typ die Option Dynamisches Objektaus.
-
Klicken Sie auf das Symbol „Erweiterte Eingaben umschalten“ (Symbol „
“ ), um die erweiterten Optionen für die
Datensatzausgabeanzuzeigen. - Wählen Sie unter Dynamische Optionen im Feld Aktion die Option ServiceNow-Objektschema abrufen (dynamisch)aus.
- Um die Tabelleneingabe von einer anderen Eingabe abhängig zu machen, schalten Sie den Schieberegler „Abhängig von einer anderen Eingabe“ um, um ihn zu aktivieren.
- Wählen Sie im Feld Tabelle die Option Tabelleaus.
- Klicken Sie im Header der Aktionsausgabe auf Bearbeitungsmodus beenden.
-
Klicken Sie für Wertauf die Datenpillenauswahl (
), und wählen Sie Skriptschritt > record.
-
Klicken Sie im Header Aktion auf Speichern und dann auf Test, um die Aktionzu testen.
- Wählen Sie im Bildschirm „Testaktion“ einen beliebigen dynamisch generierten Auswahlwert für die Eingabe Tabelle aus.
- Klicken Sie auf Test ausführen.
-
Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Aktion wird erfolgreich ausgeführt, wenn der Laufzeitwert für
Datensatzein ordnungsgemäß formatiertes komplexes Objekt und der Laufzeitwert fürDatensätzeein ordnungsgemäß formatiertes komplexes Objekt-Array ist.
- Klicken Sie im Header Aktion auf Veröffentlichen, um die Aktion Get ServiceNow Records (Dynamic) für Flows innerhalb des globalen Bereichs verfügbar zu machen.
Ergebnisse
Datensatz und Datensätze, auf die als Datenpillen im Datenbereich zugegriffen werden kann. Die Datenpillen werden dynamisch aktualisiert, wenn sich der Wert für die Eingabe Tabelle ändert.