Erste Schritte mit dynamischen Ausgaben
Erstellen Sie eine Beispielaktion, die dynamische Ausgaben zur Verwendung in einem Flow erstellt.
Vorbereitungen
Prozedur
-
Erstellen Sie Verbindungs- und Anmeldeinformationsdatensätze für dynamische Ausgaben
Dieser Alias für Verbindungen und Anmeldeinformationen stellt die Basis-URL und den Anwenderaccount bereit, die zum Konfigurieren der REST-Schritte Ihrer Datensammlungsaktionen erforderlich sind.
-
Erstellen Sie eine Datensammlungsaktion, um ein Datensatzschema zu erhalten
Diese Datensammlungsaktion konvertiert einen einzelnen Datensatz in ein JSON-Objekt für die dynamische Ausgabe eines Datensatzes.
-
Erstellen Sie eine Datensammlungsaktion, um ein Array-Datensatzschema zu erhalten
Diese Datensammlungsaktion konvertiert eine Liste von Datensätzen in ein JSON-Array von Objekten für die dynamische Ausgabe von Datensätzen.
-
Erstellen Sie eine anwenderdefinierte Aktion zum Testen dynamischer Ausgaben
Diese anwenderdefinierte Aktion veranschaulicht zwei Arten von dynamischen Ausgabedaten. Eine dynamische Ausgabe generiert ein Objekt für einen einzelnen Datensatz. Eine andere dynamische Ausgabe generiert ein Array von Objekten für eine Liste von Datensätzen.
Erstellen Sie Verbindungs- und Anmeldeinformationsdatensätze für dynamische Ausgaben
Erstellen Sie die Aliasse, Verbindungen und Anmeldeinformationen, die REST-Schritte verwenden, um eine Verbindung zu Ihrer lokalen Instanz herzustellen.
Vorbereitungen
Erforderliche Rolle: Administrator
Prozedur
- Navigieren zu Alle > Verbindungen und Anmeldeinformationen > Anmeldeinformationen.
-
Wählen Sie Neu, wählen Sie Anmeldeinformationen für Standardauthentifizierungaus, und geben Sie diese Feldwerte ein.
- Geben Sie als NameLokaler Administratorein.
-
Geben Sie unter Anwendernameeinen Anwenderaccount mit Zugriff auf Flow Designer und die REST API ein.
Geben Sie beispielsweise adminein.
- Geben Sie unter Passwortdas Account-Passwort ein.
- Wählen Sie Absenden aus, um den Anmeldeinformationsdatensatz zu erstellen.
- Navigieren zu Alle > Verbindungen und Anmeldeinformationen > Aliasse für Verbindungen und Anmeldeinformationen.
-
Wählen Sie Neu aus, und geben Sie diese Feldwerte ein.
- Geben Sie als NameLokale Instanz ein.
- Übernehmen Sie den Standardwert HTTP für den Verbindungstyp.
- Wählen Sie Absenden aus, um den Datensatz „Alias für Verbindungen und Anmeldeinformationen“ zu erstellen.
-
Wählen Sie den von Ihnen erstellten Alias aus.
Wählen Sie beispielsweise Lokale Instanzaus.
-
Wählen Sie in der zugehörigen Liste „Verbindungen “ Neuaus, und geben Sie diese Feldwerte ein.
- Geben Sie als NameMeine Instanzein.
-
Wählen Sie unter „Anmeldeinformationen“ den von Ihnen erstellten Anmeldeinformationsdatensatz für die Standardauthentifizierung aus.
Wählen Sie beispielsweise die Anmeldeinformationen Lokaler Administrator aus.
-
Geben Sie unter „Verbindungs-URL“ die Basis-URL für Ihre Instanz einschließlich des Schrägstrichs am Ende ein.
Fügen Sie das URL-Präfix https:// und einen Schrägstrich am Ende der URL hinzu.Beispiel: https://beispiel.service-now.com/.
- Wählen Sie Absenden aus, um den Datensatz für die HTTP(s)-Verbindung zu erstellen.
Erstellen Sie eine Datensammlungsaktion, um ein Datensatzschema zu erhalten
Erstellen Sie eine Datensammlungsaktion, um ein Tabellenschema zu suchen und in ein JSON-Objekt zu konvertieren.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
- Ein REST-Schritt zum Sammeln von Tabellenschemadaten für eine ausgewählte Tabelle. Der REST-Schritt-Antworttext liegt im JSON-Format vor.
- Ein Skriptschritt zum Umwandeln des JSON-Antworttexts des REST-Schritts in ein dynamisches Objekt. Das dynamische Objekt besteht aus Name-Wert-Paaren von JSON, wobei für jedes Feld in der Tabelle ein Eintrag vorhanden ist.
- Eine Ausgabevariable mit dem Namen „
output“ vom Typ JSON zum Speichern des dynamischen Objekts.
Prozedur
- Navigieren zu Alle > Prozessautomatisierung > Workflow-Studio.
- Wählen Sie auf der Homepage Aktionen.
-
Wählen Sie Neu und dann Neue Aktionaus.
- Geben Sie im Bildschirm Aktionseigenschaften im Feld NameGet ServiceNow Object Schema (Dynamic)ein.
- Wählen Sie Absenden.
-
Wählen Sie in der Aktionsgliederung die Option Eingabenaus.
- Wählen Sie im Header „Aktionseingabe“ Eingabe erstellen aus.
- Geben Sie in den Feldern Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Type die Option Zeichenfolge aus.
- Um diese Eingabe erforderlich zu machen, schalten Sie den Schieberegler auf den Schieberegler, sodass er aktiv ist.
-
Wählen Sie in der Aktionsgliederung unter Eingaben das Symbol zum Hinzufügen eines neuen Schritts (
) und dann REST-Schrittaus.
-
Füllen Sie unter dem Header des REST-Schritts die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie die Option Verbindungsalias verwenden ausgewählt. Verbindungsalias wählen Sie das Symbol zum Erstellen eines neuen Datensatzes ( ), um eine neue HTTP(s)-Verbindungerstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen Anmeldeinformationen für die Standardauthentifizierungverwenden. 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 wählen Sie dann die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle. Geben Sie als Nächstes /schemaein.
HTTP-Methode Geben Sie GET ein Abfrageparameter wählen Sie das Plus-Symbol ( um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann im Feld Nameget_choices und im Feld Werttrue ein.
-
Wählen Sie in der Aktionsgliederung unter Ihrem REST-Schritt das Symbol zum Hinzufügen eines neuen Schritts (
) und dann den Schritt Skript aus.
- Wählen Sie im Abschnitt Eingabevariablen die Option Variable erstellen aus.
- Geben Sie im Feld Namepayloadein.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, 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); - Wählen Sie im Abschnitt „Ausgabevariablen “ Variable erstellen.
- Geben Sie in den Feldern Bezeichnung und Nameschemaein.
- Wählen Sie im Feld Typdie Option JSONaus.
-
Wählen Sie in der Aktionsgliederung die Option Ausgabenaus.
- Wählen Sie im Header „Aktionsausgabe“ Ausgabe erstellen aus.
- Geben Sie in den Feldern Bezeichnung und Namedie Ausgabeein.
- Wählen Sie im Feld Typdie Option JSONaus.
- Wählen Sie im Header „Aktionsausgabe “ Bearbeitungsmodus beenden aus.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, und wählen Sie Skriptschritt > Schema.
-
Wählen Sie im Header Aktion Speichern und dann Testen aus, um die Aktion zu testen.
- Geben Sie im Bildschirm „Testaktion“ für die Eingabe Tabelle„incident“ ein.
- Wählen Sie Test ausführen.
- Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Datensammlungsaktion 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" }, ... - Wählen Sie im Header Aktion Veröffentlichen aus, um die Aktion Get ServiceNow Object Schema (Dynamic) für andere Flows und Aktionen im Bereich Global verfügbar zu machen.
Erstellen Sie eine Datensammlungsaktion, um ein Array-Datensatzschema zu erhalten
Erstellen Sie eine Datensammlungsaktion, um ein Array von Objekten aus einer Liste von Datensätzen zu generieren.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
- Ein REST-Schritt zum Sammeln von Tabellenschemadaten für eine ausgewählte Tabelle. Der REST-Schritt-Antworttext liegt im JSON-Format vor.
- Ein Skriptschritt zum Umwandeln des JSON-Antworttexts des REST-Schritts in ein dynamisches Objekt. Das dynamische Objekt besteht aus einem JSON-Array von Objekten, wobei jeder Quelldatensatz in ein Objekt des Arrays konvertiert wird.
- Eine Ausgabevariable mit dem Namen „
output“ vom Typ JSON zum Speichern des dynamischen Objekts.
Prozedur
- Navigieren zu Alle > Prozessautomatisierung > Workflow-Studio.
- Wählen Sie auf der Homepage Aktionen.
-
Wählen Sie Neu und dann Neue Aktionaus.
- Geben Sie im Bildschirm Aktionseigenschaften im Feld Nameden Wert Get ServiceNow Array.Object Schema (Dynamic)ein.
- Wählen Sie Absenden.
-
Wählen Sie in der Aktionsgliederung die Option Eingabenaus.
- Wählen Sie im Header „Aktionseingabe“ Eingabe erstellen aus.
- Geben Sie in den Feldern Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Type die Option Zeichenfolge aus.
- Um die Eingabe als erforderlich festzulegen, schalten Sie den Schieberegler auf den Schieberegler, sodass er aktiv ist.
-
Wählen Sie in der Aktionsgliederung unter Eingaben das Symbol zum Hinzufügen eines neuen Schritts (
) und anschließend den REST- Schritt.
-
Füllen Sie unter dem Header des REST-Schritts die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie Verbindungsalias verwenden ausgewählt. Verbindungsalias wählen Sie das Symbol zum Erstellen eines neuen Datensatzes ( ), um eine neue HTTP(s)-Verbindungerstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen Anmeldeinformationen für die Standardauthentifizierungverwenden. Darüber hinaus muss die Verbindungs-URL die Basis-URL für Ihre Instanz sein, einschließlich des Schrägstrichs am Ende.
Build-Anforderung Manuell verlassen ist ausgewählt. Ressourcenpfad Geben Sie api/now/processflow/table/ ein, und wählen Sie dann die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle. Geben Sie abschließend /schemaein
HTTP-Methode Geben Sie GET ein Abfrageparameter wählen Sie das Plus-Symbol ( um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann im Feld Nameget_choices und im Feld Werttrue ein.
-
Wählen Sie in der Aktionsgliederung unter Ihrem REST-Schritt das Symbol Einen neuen Schritt hinzufügen(
) und dann den Skriptschritt aus.
- Wählen Sie im Abschnitt Eingabevariablen die Option Variable erstellen aus.
- Geben Sie im Feld Namepayloadein.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, 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); - Wählen Sie im Abschnitt „Ausgabevariablen “ Variable erstellen.
- Geben Sie in den Feldern Bezeichnung und Nameschemaein.
- Wählen Sie im Feld Typdie Option JSONaus.
-
Wählen Sie in der Aktionsgliederung die Option Ausgabenaus.
- Wählen Sie im Header „Aktionsausgabe“ Ausgabe erstellen aus.
- Geben Sie die Ausgabe in die Felder Bezeichnung und Name ein.
- Wählen Sie JSON für das Feld Typ aus.
- Wählen Sie Bearbeitungsmodus beenden aus.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, und wählen Sie Skriptschritt > Schema.
-
Wählen Sie im Header Aktion Speichern und dann Testen aus, um die Aktion zu testen.
- Geben Sie im Bildschirm Testaktion im Feld Tabelleden Wert incidentein.
- Wählen Sie Test ausführen.
-
Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Datensammlungsaktion 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" }, ...
- Wählen Sie im Header Aktion Veröffentlichen aus, um die Aktion Get ServiceNow Array.Object Schema (Dynamic) für andere Aktionen im Bereich Global verfügbar zu machen.
Erstellen Sie eine anwenderdefinierte Aktion zum Testen dynamischer Ausgaben
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 Tabelleneingabe ändert.
Vorbereitungen
Warum und wann dieser Vorgang ausgeführt wird
Diese anwenderdefinierte Aktion verwendet zwei Datensammlungsaktionen, um dynamische Ausgaben zu füllen.
Prozedur
-
Wählen Sie im Hauptheader das Symbol zum Erstellen von Flows, Subflows oder Aktionen (
), und wählen Sie Aktionaus.
- Geben Sie im modalen Fenster Aktionseigenschaften im Feld Nameden Text ServiceNow-Datensätze abrufen (dynamisch)ein.
- Wählen Sie Absenden.
-
Wählen Sie in der Aktionsgliederung die Option Eingabenaus.
- Wählen Sie im Header „Aktionseingabe“ Eingabe erstellen aus.
- Geben Sie in den Feldern Bezeichnung und NameTabelleein.
- Wählen Sie im Feld Typdie Option Dynamische Auswahlaus.
- Um die Eingabe als erforderlich festzulegen, schalten Sie den Schieberegler auf den Schieberegler, sodass er aktiv ist.
-
Wählen Sie das Symbol zum Umschalten erweiterter Eingaben (
um die erweiterten Optionen für die
Tabelleneingabeanzuzeigen. - Geben Sie im Feld Standardwert den Wertincidentein.
- Wählen Sie unter Dynamische Optionen im Feld Aktiondie Option ServiceNow-Tabellen abrufen – Dynamisch aus.
- Wählen Sie Eingabe erstellen aus, um eine weitere Aktionseingabe zu erstellen.
- Geben Sie in den Feldern Bezeichnung und NameNumberOfRecordsein.
- Wählen Sie im Feld Typdie Option Ganzzahlaus.
- Um die Eingabe als erforderlich festzulegen, schalten Sie den Schieberegler auf den Schieberegler, sodass er aktiv ist.
-
Wählen Sie das Symbol zum Umschalten erweiterter Eingaben (
um die erweiterten Optionen für die
Tabelleneingabeanzuzeigen. - Geben Sie im Feld Standardwert den Wert3ein.
-
Wählen Sie in der Aktionsgliederung unter Eingaben das Symbol zum Hinzufügen eines neuen Schritts (
) und anschließend den REST- Schritt.
-
Füllen Sie unter dem Header des REST-Schritts die folgenden Felder aus.
Feld Wert Verbindung Lassen Sie Verbindungsalias verwenden ausgewählt. Verbindungsalias Wählen Sie das Symbol zum Erstellen eines neuen Datensatzes ( ), um eine neue HTTP(s)-Verbindungerstellen, oder verwenden Sie eine vorhandene Verbindung für Ihre Instanz. Die Anmeldeinformationen für die HTTP(s)-Verbindung müssen Anmeldeinformationen für die Standardauthentifizierungverwenden. Darüber hinaus muss die Verbindungs-URL die Basis-URL für Ihre Instanz sein, einschließlich des Schrägstrichs am Ende.
Build-Anforderung Manuell verlassen ist ausgewählt Ressourcenpfad Geben Sie api/now/table/ ein, und wählen Sie dann die Datenpillenauswahl ( ). Auswahlvorgang Eingaben > Tabelle.
HTTP-Methode Geben Sie GET ein Abfrageparameter Wählen Sie das Plus-Symbol ( um einen neuen Abfrageparameter hinzuzufügen. Geben Sie dann sysparm_limit im Feld Name ein. Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) und dann Eingaben > Anzahl der Datensätze.
-
Wählen Sie in der Aktionsgliederung unter Eingaben das Symbol zum Hinzufügen eines neuen Schritts (
) und dann den Skriptschritt.
- Wählen Sie im Abschnitt Eingabevariablen die Option Variable erstellen aus.
- Geben Sie im Feld Namepayloadein.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, 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); - Wählen Sie im Abschnitt „Ausgabevariablen “ Variable erstellen.
- Geben Sie in den Feldern Bezeichnung und Nameden Datensatzein.
- Wählen Sie JSON für das Feld Typ aus.
- Aktivieren Sie den Schieberegler auf dem Obligatorisch.
- Wählen Sie Variable erstellen aus, um eine weitere Ausgabevariable für den Skriptschritt zu erstellen.
- Geben Sie in den Feldern Bezeichnung und NameDatensätzeein.
- Wählen Sie im Feld Typdie Option JSONaus.
- Um die Eingabe als erforderlich festzulegen, schalten Sie den Schieberegler auf den Schieberegler, sodass er aktiv ist.
-
Wählen Sie in der Aktionsgliederung die Option Ausgabenaus.
- Wählen Sie im Header „Aktionsausgabe“ Ausgabe erstellen aus.
- Geben Sie in den Feldern Bezeichnung und NameDatensätzeein.
- Wählen Sie im Feld Typdie Option Dynamisches Objektaus.
-
Wählen Sie das Symbol zum Umschalten erweiterter Eingaben (
um die erweiterten Optionen für die Ausgabe
„Datensätze“anzuzeigen. - Wählen Sie unter „Dynamische Optionen“ die Option ServiceNow Array-Objektschema 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 sie zu aktivieren.
- Wählen Sie im Feld Tabellee die Option Tabelleaus.
- Wählen Sie im Header „Aktionsausgabe “ Bearbeitungsmodus beenden aus.
-
Wählen Sie neben dem Feld Wert die Datenpillenauswahl (
) aus, und wählen Sie Skriptschritt > Datensätze.
- Wählen Sie im Header Aktionsausgabe aus Bearbeiten Sie Ausgaben > Ausgabe erstellen um eine weitere Aktionsausgabe zu erstellen.
- Geben Sie in den Feldern Bezeichnung und NameDatensatzein.
- Wählen Sie im Feld Typdie Option Dynamisches Objektaus.
-
Wählen Sie das Symbol zum Umschalten erweiterter Eingaben (
um die erweiterten Optionen für die
Datensatzausgabeanzuzeigen. - Wählen Sie unter Dynamische Optionen im Feld Aktiondie 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 sie zu aktivieren.
- Wählen Sie im Feld Tabelle die Option Tabelleaus.
- Wählen Sie im Header „Aktionsausgabe “ Bearbeitungsmodus beenden aus.
-
Wählen Sie für den Wertdie Datenpillenauswahl (
) und anschließend aus Skriptschritt > Datensatz.
-
Wählen Sie im Header Aktion Speichern und dann Testen aus, um die Aktion zu testen.
- Wählen Sie im Bildschirm „Testaktion“ einen beliebigen dynamisch generierten Auswahlwert für die Eingabe Tabelle aus.
- Wählen Sie Test ausführen.
-
Überprüfen Sie die Ausführungsdetails der Aktion.
Ihre Aktion wird erfolgreich ausgeführt, wenn der Laufzeitwert für
„Datensatz“ein ordnungsgemäß formatiertes komplexes Objekt ist und der Laufzeitwert für„Datensätze“ein ordnungsgemäß formatiertes komplexes Objekt-Array ist.
- Wählen Sie im Header Aktion Veröffentlichen aus, um die Aktion Get ServiceNow Records (Dynamic) für Flows innerhalb des Bereichs Global verfügbar zu machen.
Ergebnisse
Sie können jetzt die Aktion Get ServiceNow Records (Dynamic) zu einem Flow hinzufügen. Diese Beispielaktion generiert dynamisch die beiden Aktionsausgaben 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 Tabelleneingabe ändert.