ScriptableFlowRunner : Bereichsbezogen

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 16 Minuten Lesedauer
  • Erstellt ein Builder-Objekt, 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 über den Builder, und zeigen Sie die Ergebnisse in einem ScriptableFlowRunnerResult-Objekt an.

    Verwenden Sie diese Methoden in Ihren serverseitigen Skripts mit dem Namespace-Bezeichner sn_fd.

    API-Aufrufreihenfolge

    Zum Erstellen und Ausführen von Flows, Subflows und Aktionen verwenden Sie diese APIs in der folgenden Reihenfolge:

    1. FlowAPI: Erstellt ein Generatorobjekt
    Verwenden Sie getRunner(), um das Builder-Objekt ScriptableFlowRunner zu instanziieren.
    2. ScriptableFlowRunner: Geben Sie den auszuführenden Inhalt Workflow-Studio an
    Verwenden Sie diese Methoden in der folgenden Reihenfolge, um das Builder-Muster zu erstellen:
    1. Verwenden Sie eine der Methoden action(), datastream(), flow()oder subflow(), um anzugeben, welcher Typ von Workflow-Studio -Objekt erstellt werden soll.
    2. Verwenden Sie eine oder mehrere Methoden wie addInput(), inDomain()oder Quick(), um Ausführungsparameter anzugeben.
    3. 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 Workflow-Studio Ausführungsdetails ab
    Verwenden Sie eine oder mehrere Methoden wie getContextId(), getOutputs()und getDomainId(), um Ausführungsdetails anzuzeigen.

    Beispiel

    In diesem Beispiel wird gezeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und damit eine Genehmigungsaktion für einen bestimmten Datensatz ausfü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 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. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und damit eine Genehmigungsaktion für einen bestimmten Datensatz ausfü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(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().

    Tabelle : 3. Parameter
    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.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows 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 für schnelle Ausführungen im Hintergrund als den Anwender aus, der ihn ausgelöst hat, und nicht als das System.

    Wenn ein Flow mit Quick() 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.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner : Bereichsbezogen Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.
    Dieses Beispiel zeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und verwenden es, um mithilfe der Methoden asUser() und Quick() eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. 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

    Die folgenden Fehler können bei der Verwendung der Methode asUser() auftreten:
    • Skript gibt einen Fehler zurück, wenn asUser() nicht zusammen mit schnell()verwendet wird.
    • Das Skript gibt einen Fehler zurück, wenn asUser() in einem Flow aufgerufen wird, für den Rollen definiert sind.
    • Skript gibt einen Fehler zurück, wenn die Methoden withRoles() und asUser() gleichzeitig aufgerufen werden.

    ScriptableFlowRunner – datastream (String scopedDatastreamName)

    Gibt den Umfang und 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. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, 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 Namen des auszuführenden Flows an.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    scopedFlowName Zeichenfolge Umfang und Name des auszuführenden Flows. Beispiel: global.flowName.
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, 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, Subflow oder die Aktion asynchron aus. Sobald das Flow-Objekt ausgeführt wird, 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 einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.
    Hinweis:
    Ab Release Xanadu gibt die Ausführung von Aktionen, Flows oder Subflows im Hintergrund mit der Quick()-Methode eine Ausführungs-ID als ContextId-Wert zurück. Die Ausführungs-ID ist kein tatsächlicher Kontextdatensatz, da in die Flow-Kontexttabelle [sys_flow_context] keine Datensätze eingefügt werden. Stattdessen wird die Ausführungs-ID verwendet, um den asynchronen Aufruf nachzuverfolgen.

    In diesem Beispiel wird gezeigt, wie ein Flow asynchron im Hintergrund 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(Zeichenfolge 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

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    domainId Zeichenfolge Die sys_id oder der Name für die Domäne, in der der Flow ausgeführt wird.
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und damit eine Genehmigungsaktion für einen bestimmten Datensatz ausfü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.

    Hinweis:
    Diese Methode unterstützt das Anhalten der Aktion zum Warten auf Bedingungen nicht. Schritte, die für Wartebedingungen wie „Um Genehmigung bitten“ oder „Auf Bedingung warten“ anhalten, werden nicht unterstützt.
    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und damit eine Genehmigungsaktion für einen bestimmten Datensatz ausfü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, einen Subflow, eine Aktion oder eine Datenstromaktion synchron oder asynchron aus einem serverseitigen Skript aus, ohne Ausführungsdetails oder andere zugehörige Datensätze zu erstellen. Verbessert die Leistung, indem der Aufwand für die Datensatzverwaltung 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 Workflow-Studio -Einstellungen keine Ausführungsdetails und Kontextdatensätze.
    Unterstützung für Wartebedingungen
    Diese Methode unterstützt das Anhalten einer Aktion oder eines Flow zum Warten auf Bedingungen nicht. Aktionen, Flow-Logik und Schritte, die für Wartebedingungen wie „Um Genehmigung bitten“, „Auf Bedingung warten“ oder „Eine Dauer warten“ anhalten, werden nicht unterstützt.
    MID-Server-Unterstützung
    Diese Methode unterstützt das Anhalten einer Aktion oder eines Flow zur Ausführung über einen MID-Server nicht. Diese Einschränkung gilt für Vorverarbeitungsskripts für Datenstromaktionen, die eine Aktion anhalten, um sie über einen MID-Server auszuführen.
    Unterstützung für Datenstromaktionen
    Diese Methode unterstützt das Anhalten einer Datenstromaktion nicht, um ein Vorverarbeitungsskript von einem MID-Server 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 einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.
    Hinweis:
    Ab Release Xanadu gibt die Ausführung von Aktionen, Flows oder Subflows im Hintergrund mit der Quick()-Methode eine Ausführungs-ID als ContextId-Wert zurück. Die Ausführungs-ID ist kein tatsächlicher Kontextdatensatz, da in die Flow-Kontexttabelle [sys_flow_context] keine Datensätze eingefügt werden. Stattdessen wird die Ausführungs-ID verwendet, um den asynchronen Aufruf nachzuverfolgen.

    In diesem Beispiel wird gezeigt, wie Sie einen Flow ausführen, 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, Subflow oder die Aktion mit den angegebenen Parametern aus.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    SkriptfähigeFlowRunnerErgebnisseBereichsbezogene Objekt mit den Ausführungsdetails einer Workflow-Studio -Aktion, eines Flows oder Subflows.

    In diesem Beispiel wird gezeigt, wie Sie ein ScriptableFlowRunner-Generator-Objekt erstellen und damit eine Genehmigungsaktion für einen bestimmten Datensatz ausfü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 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. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, 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 – Zeitüberschreitung (Zeitüberschreitung für Zahl)

    Legt eine Zeitüberschreitung für die Ausführung von Flows, Subflows oder Aktionen fest.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    Zeitüberschreitung Nummer Zeitüberschreitung in Millisekunden.
    Tabelle : 24. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, wie ein Flow ausgeführt und eine Zeitüberschreitung von zwei Minuten festgelegt wird.

    (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)

    Löst einen Fehler aus und verhindert, dass die Klasse „ScriptableFlowRunner“ ausgeführt wird, wenn eine Methodeneingabe einen unerwarteten Wert hat. Diese Methode ist für jeden ScriptableFlowRunner-Aufruf standardmäßig auf „true“ festgelegt.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    validInputs Boolean Kennzeichnung, die angibt, ob Eingaben der ScriptableFlowRunner-Methode validiert werden sollen.
    Es gibt zwei gültige Werte.
    • wahr: Löst einen Fehler aus, wenn Eingaben unerwartete Werte enthalten, und beendet die Ausführung des Skripts.
    • „falsch“: Ermöglicht die Ausführung des Skripts mit unerwarteten Werten.

    Standardwert: True

    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    Keine

    In diesem Beispiel wird gezeigt, wie ein Flow ausgeführt wird, ohne die Eingabewerte für die 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 übergeordneten Standardalias mit jedem seiner untergeordneten Aliasse überschreiben.

    Weitere Informationen zum Überschreiben eines Verbindungen und Anmeldeinformationen -Alias finden Sie unter Mehrere Verbindungen unterstützen.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    parentAliasSysID Zeichenfolge Die sys_id des übergeordneten Alias, den Alias, den Sie überschreiben möchten.
    ÜberschreibenAliasSysID 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. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    In diesem Beispiel wird gezeigt, 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(Zuordnungseingaben)

    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.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    inputs Objekt Zuordnungsobjekt, das die Name/Wert-Paare enthält, die Eingaben für den Flow, Subflow oder die Aktion definieren.
    Tabelle : 30. Ergebnisse
    Typ Beschreibung
    ScriptableFlowRunner Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.

    Erstellt ein Eingabeobjekt und übergibt den Wert an die Methode withInputs().

    
    (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 Anwender aus, der den Flow ausgelöst hat, oder führt den Flow mit Rollen aus, die in Workflow-Studiohinzugefügt wurden.

    Wenn ein Flow mit Quick() zusammen mit der Methode withRoles() ausgelöst wird, werden in den Flow-Eigenschaften definierte Rollen 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 : Bereichsbezogen Builder-Objekt, das zum Ausführen einer Workflow-Studio -Aktion, eines Flows oder eines Subflows verwendet wird.
    Dieses Beispiel zeigt, wie Sie ein Builder-Objekt des Typs ScriptableFlowRunner erstellen und verwenden, um mithilfe der Methoden „mitRoles()“ und „quick() “ eine Genehmigungsaktion für einen bestimmten Datensatz auszuführen. 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 der withRoles()- Methode auftreten:
    • withRoles() führt keinen Vorgang aus, wenn es nicht zusammen mit schnell()verwendet wird.
    • Das Skript gibt einen Fehler zurück, wenn withRoles() in einem Flow aufgerufen wird, der keine Rollen enthält.
    • Skript gibt einen Fehler zurück, wenn die Methoden withRoles() und asUser() gleichzeitig aufgerufen werden.