ScriptableFlowRunner – Umfang
Erstellt ein Generatorobjekt, das zum Definieren von Parametern für Flow, Subflow und Aktionsausführung verwendet wird. Sie können einen Flow angeben, der in einer bestimmten Domäne ausgeführt werden soll. Starten Sie die Flow-, Subflow- oder Aktionsausführung direkt im Builder, und zeigen Sie die Ergebnisse in einem ScriptableFlowRunnerResult-Objekt an.
Verwenden Sie diese Methoden in Ihren serverseitigen Skripts mit sn_fd Namespace-Bezeichner.
API-Aufrufreihenfolge
Erstellen und führen Sie Flows, Subflows und Aktionen mit diesen APIs in der folgenden Reihenfolge aus:
- 1. FlowAPI : Erstellt ein Generatorobjekt
- Verwenden GetRunner() Dient zum Instanziieren des ScriptableFlowRunner-Builder-Objekts.
- 2. ScriptableFlowRunner : Geben Sie An Workflow-Studio Auszuführender Inhalt
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um das Generatormuster zu erstellen:
- Verwenden Sie eine der Methoden Aktion () , Datenstrom() , Flow() , Oder subflow () Um anzugeben, welchen Typ von Workflow-Studio Zu erstellendes Objekt.
- Verwenden Sie eine oder mehrere Methoden wie AddInput() , Domäne () , Oder Schnell() Zum Festlegen von Ausführungsparametern.
- Verwenden Sie Ausführen () Methode zum Ausführen der Aktion, des Flows oder des Subflows mit den angegebenen Parametern und zum Rückgeben eines ScriptableFlowRunnerResult-Objekts.
- 3. ScriptableFlowRunnerResult : Abrufen Workflow-Studio Ausführungsdetails
- Verwenden Sie eine oder mehrere Methoden wie GetContextId() , GetOutputs() , Und GetDomainId() Zum Anzeigen von Ausführungsdetails.
Beispiel
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Builder-Objekt erstellt und verwendet wird, um eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – action(String scopedActionName)
Gibt den Umfang und den Namen der auszuführenden Aktion an.
| Name | Typ | Beschreibung |
|---|---|---|
| ScopedActionName | Zeichenfolge | Umfang und Name der auszuführenden Aktion. Beispiel: Global.actionName . |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Builder-Objekt erstellt und verwendet wird, um eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – addInput(Zeichenfolgenname, Objektwert)
Fügt eine einzelne Eingabe hinzu. Wenn der als Argument übergebene Name bereits als separate Eingabe vorhanden ist, ersetzt der neue Wert den bereits vorhandenen Wert.
Diese Methode fügt eine einzelne Eingabe hinzu. Um ein Objekt zu erstellen und mehrere Eingaben hinzuzufügen, verwenden Sie Mit Eingaben() Methode.
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Der Name der Eingabe für den Flow, den Subflow oder die Aktion. |
| Wert | Objekt | Der Wert der Eingabe für den Flow, den Subflow oder die Aktion. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
In diesem Beispiel wird eine Aktion ausgeführt, die eine einzelne Eingabe verwendet, die aufgerufen wird Tabellenname .
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.action('global.test_action')
.addInput('table_name', 'incident')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
Flow Designer: TableName
*** Script: FlowRunnerResult
Flow Object Name: global.test_action
Flow Object Type: action
Domain: null
Result Time: 2020-06-09 00:10:57
ContextId: null
Output count: 1
ScriptableFlowRunner – asUser()
Führt den Flow als Anwender aus, der ihn ausgelöst hat, nicht als System, für schnelle Hintergrundausführungen.
Wenn ein Flow mit ausgelöst wird Schnell() Zusammen mit AsAnwender() Methode: Anwender, der den Flow ausgelöst hat, wird abgerufen und für die Flow-Ausführung verwendet.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner – Umfang | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
(function() {
try {
var outputs = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.flow('global.stry53225960_flow_asuser_test')
.inForeground()
.quick() //Run the flow from a server-side script.
.asUser() //Run flow with the roles specified in the flow.
.run(); // Run the action and return a FlowRunnerResult object.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();Fehler
- Skript gibt einen Fehler zurück, wenn AsAnwender() Nicht zusammen mit verwendet Schnell() .
- Skript gibt einen Fehler zurück, wenn AsAnwender() Wird in einem Flow aufgerufen, für den Rollen definiert sind.
- Skript gibt einen Fehler zurück, wenn WithRoles() Und AsAnwender() Methoden werden gleichzeitig aufgerufen.
ScriptableFlowRunner – datastream(Zeichenfolge scopedDatastreamName)
Gibt den Umfang und den Namen der auszuführenden Datenstromaktion an.
Weitere Informationen zu Datenstromaktionen finden Sie unter Datenstromaktionen und Paginierung .
| Name | Typ | Beschreibung |
|---|---|---|
| ScopedDatastreamName | Zeichenfolge | Umfang und Name der auszuführenden Datenstromaktion. Beispiel: Global.dataStreamActionName . |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie eine Datenstromaktion ausgeführt wird.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.datastream('global.test_dsa')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
*** Script: FlowRunnerResult
Flow Object Name: global.test_dsa
Flow Object Type: datastream
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner – Flow(String scopedFlowName)
Gibt den Umfang und den Namen des auszuführenden Flows an.
| Name | Typ | Beschreibung |
|---|---|---|
| Scope-FlowName | Zeichenfolge | Umfang und Name des auszuführenden Flows. Beispiel: Global.flowName . |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Flow ausgeführt wird, der eine Nachricht protokolliert.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner – inBackground()
Führt den Flow, den Subflow oder die Aktion asynchron aus. Sobald die Ausführung des Flow-Objekts beginnt, wird die Skriptausführung sofort fortgesetzt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Flow im Hintergrund asynchron ausgeführt wird.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.change__unauthorized__review')
.inBackground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
[0:00:01.015] Script completed in scope global: script
––––––––––––––––––––––––––––––––––––––––––––––––––––--
Script execution history and recovery available here
Operation Table Row Count
insert sys_flow_context_inputs_chunk 1
insert sys_flow_context 1
––––––––––––––––––––––––––––––––––––––––––––––––––––--
Complex type redefined: FlowDesigner:FDCollection
Queued flow.fire event in NowMQ for sys_flow_context.sys_id: e0cd6e30b8b602104a8752ad4a9167c8,
sysevent.sys_id: 34cd6e30dbb60210497c1a48139619c9, with priority 5
*** Script: FlowRunnerResult
Flow Object Name: global.change__unauthorized__review
Flow Object Type: flow
Domain: null
Result Time: 2024-06-12 17:54:58
ContextId: e0cd6e30b8b602104a8752ad4a9167c8
Output count: 0
ScriptableFlowRunner – inDomain(String domainId)
Führt den Flow, den Subflow oder die Aktion in der angegebenen Domäne aus. Überprüft, ob die Domäne vorhanden und verfügbar ist.
| Name | Typ | Beschreibung |
|---|---|---|
| domainId | Zeichenfolge | Die sys_ID oder der Name für die Ausführungsdomäne für den Flow. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Builder-Objekt erstellt und verwendet wird, um eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – inForeground()
Führt den Flow, den Subflow oder die Aktion synchron aus. Die Skriptausführung wird angehalten, während das Flow-Objekt ausgeführt wird.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Builder-Objekt erstellt und verwendet wird, um eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – Quick()
Führt einen Flow, Subflow, eine Aktion oder eine Datenstromaktion aus einem serverseitigen Skript synchron oder asynchron aus, ohne Ausführungsdetails oder andere zugehörige Datensätze zu erstellen. Verbessert die Leistung durch Eliminierung des Aufzeichnungsaufwands. Verwenden Sie diese API, um die Geschwindigkeit der Verarbeitung mit hohem Volumen, z. B. mehrere Ausführungen pro Sekunde, in einer Produktionsumgebung zu erhöhen.
- Berichterstellung und Datensätze generiert
- Diese Methode erstellt keine Ausführungsdetails und Kontextdatensätze, unabhängig von Workflow-Studio Einstellungen.
- Unterstützung der Wartebedingung
- Diese Methode unterstützt nicht das Anhalten einer Aktion oder eines Flows, um auf Bedingungen zu warten. Aktionen, Flow-Logik und Schritte, die für Wartebedingungen anhalten, z. B. Genehmigung anfordern, auf Bedingung warten oder Dauer warten, werden nicht unterstützt.
- MID-Server-Unterstützung
- Diese Methode unterstützt nicht das Anhalten einer Aktion oder eines Flows zur Ausführung von einem MID-Server. Diese Einschränkung umfasst Vorverarbeitungsskripts für Datenstromaktionen, die eine Aktion anhalten, um sie von einem MID-Server aus auszuführen.
- Unterstützung von Datenstromaktionen
- Diese Methode unterstützt nicht das Anhalten einer Datenstromaktion, um ein Vorverarbeitungsskript von einem MID-Server aus auszuführen.
- Flow-Prioritätsunterstützung
- Diese Methode unterstützt Flow-Prioritätseinstellungen. Der Flow wird mit der angegebenen Flow-Priorität ausgeführt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Flow ausgeführt wird, ohne zugehörige Datensätze zu erstellen.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.change__unauthorized__review')
.inBackground()
.quick()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
Complex type redefined: FlowDesigner:FDCollection
Queued flow.run.quick event in NowMQ for sys_flow_context.sys_id: d81781ec57801110403e8f90ac94f90e,
sysevent.sys_id: 48abe270dbf20210497c1a4813961908, with priority 5
*** Script: FlowRunnerResult
Flow Object Name: global.change__unauthorized__review
Flow Object Type: flow
Domain: null
Result Time: 2024-06-12 17:45:37
ContextId: 08abe2706cf202107b7d3b283f7ee108
Output count: 0
ScriptableFlowRunner – Run()
Führt den Flow, den Subflow oder die Aktion mit den angegebenen Parametern aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| SkriptableFlowRunnerResultScoped | Objekt, das die Ausführungsdetails von enthält Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Builder-Objekt erstellt und verwendet wird, um eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – Subflow(String scopedSubflowName)
Gibt den Umfang und den Namen des auszuführenden Subflows an.
| Name | Typ | Beschreibung |
|---|---|---|
| ScopedSubflowName | Zeichenfolge | Umfang und Name des auszuführenden Subflows. Beispiel: Global.subflowName . |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Subflow ausgeführt wird, der eine Nachricht protokolliert.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.subflow('global.output_test')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
record-watcher asynchronous tracking complete - time: 1 ms. Executed responders: 1
record-watcher asynchronous tracking complete - time: 1 ms. Executed responders: 1
*** Script: FlowRunnerResult
Flow Object Name: global.output_test
Flow Object Type: subflow
Domain: null
Result Time: 2024-08-02 22:52:08
ContextId: b2dxx659bebf01101d72200x503x19pr
Output count: 2
ScriptableFlowRunner – Timeout (Zeitüberschreitung bei Anzahl)
Legt eine Zeitüberschreitung für eine Flow-, Subflow- oder Aktionsausführung fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Zeitüberschreitung | Anzahl | Zeitüberschreitung in Millisekunden. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Flow ausgeführt wird, und legt eine Zeitüberschreitung für zwei Minuten fest.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.timeout(120000)
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
Flow Designer: Cloning a new session to run as as user id: [user_name] from original user session: [user_name]
Flow Designer: Reverting cloned session to original user session: [user_name]
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 18:22:35
ContextId: null
Output count: 0
ScriptableFlowRunner – validateInputs (boolescher Wert validateInputs)
Löst einen Fehler aus und verhindert, dass die ScriptableFlowRunner-Klasse ausgeführt wird, wenn eine Methodeneingabe einen unerwarteten Wert hat. Diese Methode ist für jeden ScriptableFlowRunner-Aufruf standardmäßig auf „wahr“ festgelegt.
| Name | Typ | Beschreibung |
|---|---|---|
| ValidateEingaben | Boolean | Kennzeichnung, die angibt, ob Eingaben der ScriptableFlowRunner-Methode validiert werden sollen. Es gibt zwei gültige Werte.
Standardwert: True |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Beispiel zeigt, wie ein Flow ausgeführt wird, ohne die Eingabewerte der Methode zu validieren.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inForeground()
.validateInputs(false)
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
*** Script: FlowRunnerResult
Flow Object Name: global.test_flow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner – withConnectionAliasOverride(String AliasName, String overrideName)
Überschreibt Verbindungen und Anmeldeinformationen Alias, der dem Flow, der Aktion oder dem Subflow zugeordnet ist. Sie können den standardmäßigen übergeordneten Alias mit einem seiner untergeordneten Aliasse überschreiben.
Um mehr über das Überschreiben von zu erfahren Verbindungen und Anmeldeinformationen Alias, siehe Unterstützt mehrere Verbindungen .
| Name | Typ | Beschreibung |
|---|---|---|
| ParentAliasSysID | Zeichenfolge | Die sys_ID des übergeordneten Alias, der Alias, den Sie überschreiben möchten. |
| ÜberschriebenAliasSysID | Zeichenfolge | Die sys_ID des untergeordneten Alias, der Alias, den Sie beim Ausführen des Flows, Subflows oder der Aktion verwenden möchten. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Dieses Beispiel zeigt, wie ein Flow mit einem anderen Alias als dem Standard ausgeführt wird, der dem Flow zugeordnet ist.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.withConnectionAliasOverride('sn_original_alias.spoke', 'x_new_alias.spoke')
.inForeground()
.run();
gs.info(result.debug());
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – withInputs (Zuordnungseingaben)
Fügt eine Sammlung von Eingaben hinzu. Wenn bereits ein Name in einem der Name-Wert-Paare vorhanden ist, ersetzt der neue Wert den bereits vorhandenen Wert.
| Name | Typ | Beschreibung |
|---|---|---|
| inputs | Objekt | Zuordnungsobjekt, das die Name-Wert-Paare enthält, die Eingaben für den Flow, den Subflow oder die Aktion definieren. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
Erstellt ein Eingabeobjekt und übergibt den Wert an Mit Eingaben() Methode.
(function() {
try {
var inputs = {};
inputs['sys_id'] = '57af7aec73d423002728660c4cf6a71c'; // Pass the record's sys_id in as input.
var result = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.action('global.markapproved') // Run the global scope action named markapproved.
.inForeground()
.inDomain('TOP/ACME') // Run the action from the TOP/ACME domain.
.withInputs(inputs)
.run(); // Run the action and return a FlowRunnerResult object.
var contextId = result.getContextId(); // Retrieve the context ID from the result
var dateRun = result.getDate();
var domainUsed = result.getDomainId(); // Retrieve the Domain ID from the result.
var flowName = result.getFlowObjectName();
var flowObjectType = result.getFlowObjectType();
var outputs = result.getOutputs(); // Retrieve any outputs from the action execution.
var newApprovalStatus = outputs['approval']; // Echo back the approval status for verification.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
ScriptableFlowRunner – withRoles()
Führt den Flow als Anwender aus, der den Flow ausgelöst hat, oder führt den Flow mit Rollen aus, die in hinzugefügt wurden Workflow-Studio.
Wenn ein Flow mit ausgelöst wird Schnell() Zusammen mit WithRoles() Methode: In den Flow-Eigenschaften definierte Rollen werden abgerufen, während der Flow-Ausführung übergeben, und der Flow wird mit den Rollen ausgeführt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner – Umfang | Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow. |
(function() {
try {
var outputs = sn_fd.FlowAPI.getRunner() // Create a ScriptableFlowRunner builder object.
.flow('global.stry53225960_flow')
.inForeground()
.quick() //Run the flow from a server-side script.
.withRoles() //Run the flow as the user who triggered the flow.
.run(); // Run the action and return a FlowRunnerResult object.
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();Fehler
- WithRoles() Führt keinen Vorgang aus, wenn er nicht zusammen mit verwendet wird Schnell() .
- Skript gibt einen Fehler zurück, wenn WithRoles() Wird in einem Flow aufgerufen, der keine Rollen hat.
- Skript gibt einen Fehler zurück, wenn WithRoles() Und AsAnwender() Methoden werden gleichzeitig aufgerufen.