ScriptableFlowRunner – Scoped
Erstellen Sie 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 den Flow, den Subflow oder die Aktionsausführung direkt aus dem Generator, und zeigen Sie die Ergebnisse in einem ScriptableFlowRunnerResult-Objekt an.
Verwenden Sie diese Methoden in Ihren serverseitigen Skripts mit dem Namespace-Identifier sn_fd.
API-Aufrufreihenfolge
Erstellen Sie Flows, Subflows und Aktionen mit diesen APIs in der folgenden Reihenfolge, und führen Sie sie aus:
- 1. FlowAPI: Erstellt ein Generatorobjekt
- Verwenden Sie getRunner(), um das ScriptableFlowRunner-Builder-Objekt zu instanziieren.
- 2. ScriptableFlowRunner: Geben Sie Flow Designer Inhalt an, der ausgeführt werden soll
- Verwenden Sie diese Methoden in der folgenden Reihenfolge, um das Generatormuster zu erstellen:
- Verwenden Sie eine der Methoden action(), datastream(), flow()oder subflow(), um anzugeben, welcher Typ von Flow Designer -Objekt erstellt werden soll.
- Verwenden Sie eine oder mehrere Methoden wie addInput(), inDomain()oder quick(), um Ausführungsparameter anzugeben.
- Verwenden Sie die Methode run(), um die Aktion, den Flow oder den Subflow mit den angegebenen Parametern auszuführen und ein ScriptableFlowRunnerResult-Objekt zurückzugeben.
- 3. ScriptableFlowRunnerResult: Ruft Flow Designer Ausführungsdetails ab
- Verwenden Sie eine oder mehrere Methoden wie getContextId(), getOutputs()und getDomainId(), um Ausführungsdetails anzuzeigen.
Beispiel
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Generator-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)
Identifiziert den Bereich und den Namen der auszuführenden Aktion.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedActionName | Zeichenfolge | Umfang und Name der auszuführenden Aktion. Beispiel: global.actionName. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Generator-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 – flow(String scopedFlowName)
Identifiziert den Bereich und den Namen des auszuführenden Flow.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedFlowName | Zeichenfolge | Umfang und Name des auszuführenden Flows. Beispiel: global.flowName. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
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 – subflow(String scopedSubflowName)
Identifiziert den Bereich und den Namen des auszuführenden Subflows.
| Name | Typ | Beschreibung |
|---|---|---|
| scopedSubflowName | Zeichenfolge | Umfang und Name des auszuführenden Subflows. Beispiel: global.subflowName. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.subflow('global.test_subflow')
.inForeground()
.run();
gs.info(result);
} 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: Message to log
Flow Designer: Reverting cloned session to original user session: [user_name]
*** Script: FlowRunnerResult
Flow Object Name: global.test_subflow
Flow Object Type: flow
Domain: null
Result Time: 2020-06-08 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner – addInput(String name, Object value)
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 die Methode withInputs().
| Name | Typ | Beschreibung |
|---|---|---|
| Name | Zeichenfolge | Der Name der Eingabe für den Flow, Subflow oder die Aktion. |
| Wert | Objekt | Der Wert der Eingabe für den Flow, Subflow oder die Aktion. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
In diesem Beispiel wird eine Aktion ausgeführt, die eine einzelne Eingabe namens table_name akzeptiert.
(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 Benutzer aus, der ihn ausgelöst hat, und nicht als System, um schnelle Ausführungen im Hintergrund zu ermöglichen.
Wenn ein Flow mit schnell () zusammen mit der Methode asUser () ausgelöst wird, wird der Benutzer, der den Flow ausgelöst hat, abgerufen und für die Flow-Ausführung verwendet.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner – Scoped | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
(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
- Das Skript gibt einen Fehler zurück, wenn „asUser()“ nicht zusammen mit „quick()“verwendet wird.
- Das Skript gibt einen Fehler zurück, wenn asUser() in einem Flow mit definierten Rollen aufgerufen wird.
- Das Skript gibt einen Fehler zurück, wenn die Methoden withRoles() und asUser() gleichzeitig aufgerufen werden.
ScriptableFlowRunner – datastream(String scopedDatastreamName)
Identifiziert den Bereich und den Namen der auszuführenden Datenstromaktion.
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 | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie eine Datenstrom-Aktion 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 – inBackground()
Führt den Flow, den Subflow oder die Aktion asynchron aus. Sobald das Flow-Objekt ausgeführt wird, wird die Skriptausführung sofort fortgesetzt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein Flow asynchron ausgeführt wird.
(function() {
try {
var result = sn_fd.FlowAPI.getRunner()
.flow('global.test_flow')
.inBackground()
.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: Message to log
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 16:41:13
ContextId: null
Output count: 0
ScriptableFlowRunner – inDomain(String domainId)
Führt den Flow, 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 | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Generator-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, 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 | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Generator-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 – schnell()
Führt einen Flow, Subflow, eine Aktion oder eine Datenstromaktion von einem serverseitigen Skript synchron oder asynchron aus, ohne Ausführungsdetails oder andere zugehörige Datensätze zu erstellen. Verbessert die Leistung, indem der Overhead für die Aufzeichnung eliminiert wird. Verwenden Sie diese API, um die Geschwindigkeit der Verarbeitung großer Mengen, z. B. mehrerer Ausführungen pro Sekunde, in einer Produktionsumgebung zu erhöhen.
- Berichterstellung und Datensätze generiert
- Diese Methode erstellt unabhängig von den Flow Designer -Einstellungen keine Ausführungsdetails und Kontextdatensätze.
- Unterstützung von Wartebedingungen
- 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 wie „Um Genehmigung bitten“, „Warten auf Bedingung“ oder „Warten auf eine Dauer“ angehalten werden, werden nicht unterstützt.
- MID-Server-Unterstützung
- Diese Methode unterstützt nicht das Anhalten einer Aktion oder eines Flows, die von einem MID Server ausgeführt werden sollen. Diese Einschränkung umfasst Vorverarbeitungsskripts für Datenstromaktionen, die eine Aktion anhalten, die von einem MID Server ausgeführt werden soll.
- Unterstützung für Datenstromaktionen
- Diese Methode unterstützt nicht das Anhalten einer Datenstromaktion, um ein Vorverarbeitungsskript von einem MID Server auszuführen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
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.test_flow')
.inForeground()
.quick()
.run();
gs.info(result);
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
}
})();
Ausgabe:
Flow Designer: Message to log.
*** Script: [object FlowRunnerResult]
ScriptableFlowRunner – run()
Führt den Flow, Subflow oder die Aktion mit den angegebenen Parametern aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunnerResultsScoped | Objekt, das die Ausführungsdetails einer Flow Designer -Aktion, eines Flow oder eines Subflow enthält. |
Dieses Beispiel zeigt, wie ein ScriptableFlowRunner-Generator-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 – timeout(Number timeout)
Legt eine Zeitüberschreitung für die Ausführung eines Flow, Subflow oder einer Aktion fest.
| Name | Typ | Beschreibung |
|---|---|---|
| Zeitüberschreitung | Nummer | Zeitüberschreitung in Millisekunden. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein Flow ausgeführt wird, und legt eine Zeitüberschreitung auf 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 – validInputs(Boolean validInputs)
Einen Fehler auslösen und die Ausführung der ScriptableFlowRunner-Klasse verhindern, wenn eine Methodeneingabe einen unerwarteten Wert hat. Diese Methode ist für jeden ScriptableFlowRunner-Aufruf standardmäßig auf „true“ festgelegt.
| Name | Typ | Beschreibung |
|---|---|---|
| validierenEingaben | 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 den Alias Verbindungen und Anmeldeinformationen, der dem Flow, der Aktion oder dem Subflow zugeordnet ist. Sie können den standardmäßigen übergeordneten Alias mit einem seiner untergeordneten Aliasse überschreiben.
Weitere Informationen zum Überschreiben eines Verbindungen und Anmeldeinformationen -Alias finden Sie unter Mehrere Verbindungen unterstützen.
| Name | Typ | Beschreibung |
|---|---|---|
| parentAliasSysID | Zeichenfolge | Die sys_id des übergeordneten Alias, der Alias, den Sie überschreiben möchten. |
| overrideAliasSysID | Zeichenfolge | Die sys_id des untergeordneten Alias, der Alias, den Sie beim Ausführen des Flow, Subflow oder der Aktion verwenden möchten. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Dieses Beispiel zeigt, wie ein Flow mit einem anderen Alias als dem dem Flow zugeordneten Standardalias ausgeführt wird.
(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(Map inputs)
Fügt eine Sammlung von Eingaben hinzu. Wenn ein Name in einem der Name-Wert-Paare bereits vorhanden ist, ersetzt der neue Wert den bereits vorhandenen Wert.
| Name | Typ | Beschreibung |
|---|---|---|
| inputs | Objekt | Kartenobjekt, das die Name-Wert-Paare enthält, die Eingaben für den Flow, Subflow oder die Aktion definieren. |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
Erstellt ein Eingabeobjekt und übergibt den Wert an die withInputs()- 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 der Benutzer aus, der den Flow ausgelöst hat, oder führt den Flow mit Rollen aus, die in Flow Designerhinzugefügt wurden.
Wenn ein Flow mit quick() zusammen mit der Methode withRoles() ausgelöst wird, werden die in den Flow-Eigenschaften definierten Rollen abgerufen, während der Flow-Ausführung übergeben und der Flow wird mit den Rollen ausgeführt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| ScriptableFlowRunner – Scoped | Generatorobjekt, das zum Ausführen einer Flow Designer -Aktion, eines Flow oder eines Subflow verwendet wird. |
(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 keine Operation aus, wenn sie nicht zusammen mit quick()verwendet wird.
- Das Skript gibt einen Fehler zurück, wenn withRoles() in einem Flow aufgerufen wird, der keine Rollen enthält.
- Das Skript gibt einen Fehler zurück, wenn die Methoden withRoles() und asUser() gleichzeitig aufgerufen werden.