Inline-Skripts
Ermöglichen Sie Anwendern mit Codierungs-Experience, Inline-Skripts zu schreiben, die Eingabewerte während der Konfiguration einer Aktion oder eines Flows festlegen und ändern. Verwenden Sie Inline-Skripts, um Eingabewerte zu ändern, die Kleinformatkonvertierungen, Datentransformationen oder mathematische Vorgänge erfordern.
Sie können Eingabewerte auch ohne Skripting mithilfe von Transformationsfunktionen ändern. Eine Liste der verfügbaren Optionen finden Sie unter Transformationsfunktionen.
- Aktionseingaben, wenn Sie die Aktion für einen Flow konfigurieren
- Aktionsausgaben, wenn Sie die Aktion für einen Flow konfigurieren
- Flow-Logikeingaben, wenn Sie die Flow-Logik für einen Flow konfigurieren
- Flow-Logikausgaben, wenn Sie die Flow-Logik für einen Flow konfigurieren
- Schritteingaben, wenn Sie den Schritt für eine Aktion konfigurieren.
- Subflow-Eingaben, wenn Sie den Subflow für einen Flow konfigurieren.
- Subflow-Ausgaben, wenn Sie den Subflow für einen Flow konfigurieren.
Inline-Skripts müssen Werte in demselben Datentyp zurückgeben, wie die Eingabe erwartet. Beispielsweise muss ein Inline-Skript für eine Datensatzeingabe ein GlideRecord-Objekt zurückgeben, und ein Inline-Skript für eine Datumseingabe muss einen Datums-Uhrzeit-Wert zurückgeben. Testen Sie immer Aktionen und Flows, die Inline-Skripts enthalten, und stellen Sie sicher, dass die Flow-Ausführungsdetails keine Laufzeitfehler enthalten.
Skriptverfasser sollten mit vertraut sein ServiceNow AI Platform Tabellenstrukturen und Feldtypen . Darüber hinaus sollten sie wissen, wie mit Datensatz- und Systemdaten mit gearbeitet wird ServiceNow API.
Vorteile
- Ermöglichen Sie einfache Datenkonvertierung oder -Transformation, ohne anwenderdefinierte Aktionen oder Flows erstellen zu müssen.
- Geben Sie an, welche Eingabedaten sich ein Skript auf sich auswirkt.
- Eingeschränkter Zugriff auf Skripting-Funktionen auf Anwender oder Gruppen, die mit den verfügbaren vertraut sind ServiceNow APIs.
Zugriff auf Inline-Skript
Sie können Anwendern Zugriff auf Online-Skripting gewähren, indem Sie ihnen entweder die Rolle „Flow_Designer_scripting“ oder die gewähren Skripting Zulassen Delegierte Entwicklungsberechtigung. Sowohl die Rolle als auch die Entwicklerberechtigung zeigen jeweils ein Skript-Schaltflächenfeld an Workflow-Studio Eingabe.
Skript-Schaltfläche
Wenn Sie einem Anwender das Erstellen von Inline-Skripts ermöglichen, Workflow-Studio Zeigt eine Skriptschaltfläche neben Flow- und Schritteingaben an.
Klicken Sie auf Skript Schaltfläche öffnet den Skripteditor, der die Standardeingabeschnittstelle ersetzt. Geben Sie ein Skript ein, um den Eingabewert zu berechnen.
Stellen Sie sicher, dass Ihr Skript einen enthält Zurück Anweisung mit den Ergebnissen Ihres Skripts. Beispiel: ShortDesc zurückgeben; Gibt den Wert von zurück ShortDesc Variable.
Klicken Sie auf Skript Reduzieren Blendet den Skripteditor aus und zeigt eine schreibgeschützte Version der Eingabe an. Klicken Sie auf Erweitern Sie Skript Schaltfläche zeigt den Skripteditor an und ermöglicht Ihnen das Bearbeiten des Skripts.
Workflow-Studio Datenobjekt
fd_Data Objekt für den Zugriff auf Daten aus vorherigen Aktionen und Schritten. Verwenden Sie fd_Data Objekt zum Dot-Walking zu einer bestimmten Ausgabe des Flows. Sie können den Skripteditor „Vorabvorschläge eingeben“ verwenden, um einen bestimmten Ausgabewert auszuwählen. Geben Sie beispielsweise ein fd_Data Und wählen Sie aus _2__for_each.item Aus dem Typ Vorabvorschläge eingeben, auf die eine Dot-Walk-Referenz erstellt werden soll fd_data._2__for_each.item . Diese Referenz greift auf Daten aus der zweiten Ausgabe des Flows zu, der in diesem Beispiel für jedes Flow-Logikelement ein ist.Workflow-Studio Aktualisiert das Datenobjekt jedes Mal, wenn Sie Ihre Aktion, Ihren Flow oder Ihren Subflow speichern. Wenn die Vorauseingabe-Vorschläge Ihr Ziel nicht enthalten, versuchen Sie, die Aktion, den Flow oder den Subflow zu speichern, und geben Sie dann das Zeitraumzeichen erneut ein, um die Liste der Vorschläge zu aktualisieren.
| Datenziel | Referenzsyntax | Beispiel |
|---|---|---|
| Aktionseingabe | fd_Data.action_input. Aktionseingabename | VAR-Aufgabe = fd_Data.action_input.Task; |
| Flow-Variable | fd_Daten.Flow_var. Flow-Variablenname | VAR shortDesc = fd_Data.Flow_var.short_description; |
| Ausgabe der vorherigen Aktion, Flow-Logik oder des Schritts | fd_Data._ Ausgabe-Ziel-Schrittnummer __ Ausgabezielname | VAR taskRecord = fd_Data._2__create_Task; |
| Subflow-Eingabe | fd_Data.Subflow_input. subflow-input-Name | VAR reqItem = fd_Data.Subflow_input.requested_item; |
| Auslöser | fd_Data.Trigger. Auslöser-Datenpille | VAR-Incident = fd_Data.Trigger.current; |
Allgemeine Leitlinien
Befolgen Sie diese allgemeinen Richtlinien, um wiederverwendbare und wartbare Inline-Skripts zu erstellen.
- Inline-Skript für kleine, nicht wiederverwendbare Logik schreiben
- Verwenden Sie das Inline-Skriptformat, oder ändern Sie die Daten für bestimmte Eingaben und Anwendungsfälle. Wählen Sie für standardmäßige und wiederverwendbare Eingabedatenkonvertierungen und Formatierungsvorgänge stattdessen eine Transformationsfunktion aus.
- Überprüfen Sie die verfügbaren Transformationsfunktionen
- Workflow-Studio Stellt eine Liste der standardmäßigen Transformationsfunktionen für Datenkonvertierungen und Formatierungsvorgänge bereit. Anstatt eine anwenderdefinierte Skriptlösung zu schreiben und zu verwalten, wählen Sie eine vorhandene Transformationsfunktion aus, falls eine verfügbar ist.
- Skripteinbindungen aus Inline-Skript aufrufen
- Rufen Sie eine Skripteinbindung aus Ihrem Inline-Skript auf, um die Menge des von Ihnen geschriebenen Codes zu reduzieren und allgemeinen Code an einem einzigen Ort zu erhalten. Verwenden Sie den Klassenkonstruktor, um Ihre Skripteinbindung aufzurufen. Weitere Informationen zum Erstellen einer Skripteinbindung finden Sie unter Script includes.
var si = new MyScriptInclude(); si.functionOne(); - Erstellen Sie anwenderdefinierte Aktionen oder Subflows für wiederverwendbaren Code anstelle des Inline-Skripts
- Erstellen Sie anwenderdefinierte Aktionen oder Subflows für wiederverwendbare oder komplexe Datenlogik, z. B. das Ändern des Datentyps von Quelldaten. Möglicherweise möchten Sie auch anwenderdefinierte Aktionen oder Subflows für Flow-Designer bereitstellen, die sich nicht mit Code auskennen.
- Vermeiden Sie das Duplizieren von Aktionen und Flow-Funktionen
- Vermeiden Sie das Schreiben eines Inline-Skripts, das Aktionen- und Flow-Funktionalität dupliziert. Anstatt beispielsweise Inline-Skript zu schreiben, um Datensatzvorgänge auszuführen, verwenden Sie die Baseline-Aktionen zum Erstellen und Aktualisieren von Datensätzen.
- Datentypänderungen vermeiden
- Vermeiden Sie Laufzeitfehler, indem Sie überprüfen, ob Ihr Inline-Skript Informationen in demselben Datentyp bereitstellt, wie die Eingabe oder Ausgabe erwartet.
- Erstellen Sie Variablen, indem Sie sie mit dem Stichwort „var“ deklarieren
- Verwenden Sie
VARStichwort zur Deklaration von Variablen, damit sie innerhalb des richtigen JavaScript-Bereichs bleiben. Wenn Sie eine Variable erstellen, indem Sie ihr einen Wert zuweisen, kann JavaScript sie an das globale Objekt anhängen, was dazu führen kann, dass Variablenwerte außerhalb des lokalen Bereichs bleiben und Fehler verursachen. - Verarbeiten Sie Datensatzausgaben mit für jede Flow-Logik und das Flow-Datenobjekt
- Inline-Skript kann nur auf zugreifen Datensätze Ausgabe einer Aktion „Datensätze suchen“ von für jede Flow-Logik. Fügen Sie dem Flow eine Aktion „Datensätze suchen“ hinzu, um die Datensatzausgabe zu generieren. Fügen Sie dem Flow eine für jeden Flow-Logik hinzu, um jeden Datensatz in der Datensatzausgabe zu verarbeiten. Erstellen Sie eine Inline-Skriptreferenz für die für jede Flow-Logik mit den Objekten fd_Data und item. Diese Referenz geht beispielsweise davon aus, dass die für jede Flow-Logik das zweite Element in Ihrer Flow-Gliederung ist
fd_data._2__for_each.item. - Verwenden Sie Typahead-Vorschläge, um Verweise auf Flow- und Aktionsdaten zu generieren.
- Erstellen Sie Verweise auf Flow- und Aktionsdaten mit dem Objekt fd_Data. Der Skripteditor zeigt bei der Eingabe Typenvorschläge für vorhandene Flow- und Aktionsdaten an fd_Data . Wählen Sie einen Vorschlag aus, um Verweise auf Flow- und Aktionsdaten zu erstellen. Hinweis:Siehe Datensatzdaten in A für jede Flow-Logik, die verwendet Element Objekt.
- Umfangsschleifenzähler
-
Skriptschleifen haben keine maximale Anzahl von Iterationen, daher werden Schleifen unendlich ausgeführt, wenn keine gültige Exit-Bedingung vorhanden ist.
Um sicherzustellen, dass eine gültige Exit-Bedingung vorhanden ist, verwenden Sie Umfangsschleifenzähler in Inline-Skripts oder in Skriptschritten innerhalb einer Aktion.Hinzufügen
VARBisFür (i=0; i< Länge; i++)Und abrufenFür (VAR i=0; i< Länge; i++)
Überlegungen zur Lizenzierung
Inline-Skripts, die Integrations-APIs aufrufen, denen unterliegen IntegrationHub Lizenzierung.
Code-Editor
Der Code-Editor bietet Texteditor-Unterstützung für Inline-Skripts.
- Syntaxfarbe, Einzug, Zeilennummern und automatische Erstellung von schließenden Klammern und Anführungszeichen
- Automatische Vorschläge und automatische Vervollständigungen
Tipps zum Bearbeiten
- Drücken Sie die Tabulatortaste, um ein festes Leerzeichen an beliebiger Stelle in den Code einzufügen.
- Um eine einzelne Codezeile einzuziehen, klicken Sie in den führenden Leerraum der Zeile, und drücken Sie die Tabulatortaste.
- Um eine oder mehrere Codezeilen einzuziehen, markieren Sie den Code, und drücken Sie die Tabulatortaste. Um den Einzug zu verringern, drücken Sie Umschalt+Tab.
- Um eine Registerkarte vom Anfang einer Codezeile zu entfernen, klicken Sie in die Zeile, und drücken Sie Umschalt+Tab.
- Um Variablen zu deklarieren, verwenden Sie
VARStichwort, damit sie innerhalb des richtigen JavaScript-Bereichs bleiben.