ScriptableFlowRunner – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 16 Minuten Lesedauer
  • 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:
    1. Verwenden Sie eine der Methoden Aktion () , Datenstrom() , Flow() , Oder subflow () Um anzugeben, welchen Typ von Workflow-Studio Zu erstellendes Objekt.
    2. Verwenden Sie eine oder mehrere Methoden wie AddInput() , Domäne () , Oder Schnell() Zum Festlegen von Ausführungsparametern.
    3. 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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    ScopedActionName Zeichenfolge Umfang und Name der auszuführenden Aktion. Beispiel: Global.actionName .
    Tabelle : 2. Rückgaben
    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.

    Tabelle : 3. Parameter
    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.
    Tabelle : 4. Rückgaben
    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.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner – Umfang 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 es, um eine Genehmigungsaktion für einen bestimmten Datensatz mit auszuführen AsAnwender() Und Schnell() Methoden. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
    (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

    Diese Fehler können bei der Verwendung von auftreten AsAnwender() Methode:
    • 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 .

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    ScopedDatastreamName Zeichenfolge Umfang und Name der auszuführenden Datenstromaktion. Beispiel: Global.dataStreamActionName .
    Tabelle : 8. Rückgaben
    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.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Scope-FlowName Zeichenfolge Umfang und Name des auszuführenden Flows. Beispiel: Global.flowName .
    Tabelle : 10. Rückgaben
    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.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow.
    Hinweis:
    Ab Xanadu Release, wenn eine Aktion, ein Flow oder ein Subflow im Hintergrund mit der Quick()-Methode ausgeführt wird, gibt eine Ausführungs-ID als ContextId-Wert zurück. Die Ausführungs-ID ist kein tatsächlicher Kontextdatensatz, da keine Datensätze in die Tabelle „Flow-Kontext“ [sys_Flow_context] eingefügt werden. Stattdessen wird die Ausführungs-ID verwendet, um den asynchronen Aufruf nachzuverfolgen.

    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.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    domainId Zeichenfolge Die sys_ID oder der Name für die Ausführungsdomäne für den Flow.
    Tabelle : 14. Rückgaben
    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.

    Hinweis:
    Diese Methode unterstützt nicht das Anhalten der Aktion zum Warten auf Bedingungen. Schritte, die für Wartebedingungen anhalten, z. B. „Genehmigung anfordern“ oder „Warten auf Bedingung“, werden nicht unterstützt.
    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    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.
    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen von verwendet wird Workflow-Studio Aktion, Flow oder Subflow.
    Hinweis:
    Ab Xanadu Release, wenn eine Aktion, ein Flow oder ein Subflow im Hintergrund mit der Quick()-Methode ausgeführt wird, gibt eine Ausführungs-ID als ContextId-Wert zurück. Die Ausführungs-ID ist kein tatsächlicher Kontextdatensatz, da keine Datensätze in die Tabelle „Flow-Kontext“ [sys_Flow_context] eingefügt werden. Stattdessen wird die Ausführungs-ID verwendet, um den asynchronen Aufruf nachzuverfolgen.

    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.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    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.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    ScopedSubflowName Zeichenfolge Umfang und Name des auszuführenden Subflows. Beispiel: Global.subflowName .
    Tabelle : 22. Rückgaben
    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.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    Zeitüberschreitung Anzahl Zeitüberschreitung in Millisekunden.
    Tabelle : 24. Rückgaben
    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.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    ValidateEingaben Boolean Kennzeichnung, die angibt, ob Eingaben der ScriptableFlowRunner-Methode validiert werden sollen.
    Es gibt zwei gültige Werte.
    • Wahr: Fehler auslösen, wenn Eingaben unerwartete Werte aufweisen, und die Ausführung des Skripts beenden.
    • Falsch: Zulassen, dass das Skript mit unerwarteten Werten ausgeführt wird.

    Standardwert: True

    Tabelle : 26. Rückgaben
    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 .

    Tabelle : 27. Parameter
    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.
    Tabelle : 28. Rückgaben
    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.

    Tabelle : 29. Parameter
    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.
    Tabelle : 30. Rückgaben
    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.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 32. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner – Umfang 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 es, um eine Genehmigungsaktion für einen bestimmten Datensatz mit auszuführen WithRoles() Und Schnell() Methoden. Ein ScriptableFlowRunnerResult-Objekt erfasst die Ausführungsargumente und Aktionsausgaben.
    (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

    Diese Fehler können bei der Verwendung von auftreten WithRoles() Methode:
    • 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.