ScriptableFlowRunner : inclus dans le périmètre

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 17 minutes de lecture
  • Créez un objet de générateur utilisé pour définir les paramètres du flux, du flux secondaire et de l’exécution des actions. Vous pouvez spécifier un flux à exécuter dans un domaine particulier. Démarrez le flux, le flux secondaire ou l’exécution de l’action directement à partir du générateur et affichez les résultats dans un objet ScriptableFlowRunnerResult.

    Utilisez ces méthodes dans vos scripts côté serveur avec l’identificateur d’espace de noms sn_fd.

    Ordre d’appel d’API

    Créez et exécutez des flux, des flux secondaires et des actions à l’aide de ces API dans l’ordre suivant :

    1. FlowAPI : crée un objet de générateur
    Utilisez getRunner() pour instancier l’objet générateur ScriptableFlowRunner.
    2. ScriptableFlowRunner : spécifier le Concepteur de flux contenu à exécuter
    Utilisez ces méthodes dans l’ordre suivant pour créer le modèle de générateur :
    1. Utilisez l’une des méthodes action(),datastream(), flow() ou subflow() pour spécifier le type d’objet Concepteur de flux à construire.
    2. Utilisez une ou plusieurs méthodes telles que addInput(),inDomain() ou quick() pour spécifier les paramètres d’exécution.
    3. Utilisez la méthode run() pour exécuter l’action, le flux ou le flux secondaire avec les paramètres fournis et renvoyer un objet ScriptableFlowRunnerResult.
    3. ScriptableFlowRunnerResult : récupérer Concepteur de flux les détails de l’exécution
    Utilisez une ou plusieurs méthodes telles que getContextId(),getOutputs() et getDomainId() pour afficher les détails de l’exécution.

    Exemple

    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique. Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.

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

    Identifie le périmètre et le nom de l’action à exécuter.

    Tableau 1. Paramètres
    Nom Type Description
    scopedActionName Chaîne Périmètre et nom de l’action à exécuter. Par exemple, global.actionName.
    Tableau 2. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique. Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.

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

    Identifie le périmètre et le nom du flux à exécuter.

    Tableau 3. Paramètres
    Nom Type Description
    scopedFlowName (en anglais seulement) Chaîne Périmètre et nom du flux à exécuter. Par exemple, global.flowName.
    Tableau 4. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter un flux qui consigne un message.

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

    Sortie :

    *** 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 : flux secondaire (chaîne scopedSubflowName)

    Identifie le périmètre et le nom du flux secondaire à exécuter.

    Tableau 5. Paramètres
    Nom Type Description
    scopedSubflowName Chaîne Périmètre et nom du flux secondaire à exécuter. Par exemple, global.subflowName.
    Tableau 6. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.
    (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);
      }
    
    })();

    Sortie :

    
    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(nom de chaîne, valeur de l’objet)

    Ajoute une entrée unique. Si le nom transmis en tant qu’argument existe déjà en tant qu’entrée distincte, la nouvelle valeur remplace la valeur préexistante.

    Cette méthode ajoute une entrée unique. Pour créer un objet et ajouter plusieurs entrées, utilisez la méthode withInputs().

    Tableau 7. Paramètres
    Nom Type Description
    nom Chaîne Nom de l’entrée du flux, du flux secondaire ou de l’action.
    valide Objet La valeur de l’entrée pour le flux, le flux secondaire ou l’action.
    Tableau 8. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple exécute une action qui prend une seule entrée appelée table_name.

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

    Sortie :

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

    Exécute le flux en tant qu’utilisateur qui l’a déclenché, et non en tant que système, pour des exécutions rapides en arrière-plan.

    Lorsqu’un flux est déclenché à l’aide de quick() avec la méthode asUser(), l’utilisateur qui a déclenché le flux est récupéré et est utilisé pour l’exécution du flux.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    ScriptableFlowRunner : inclus dans le périmètre Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.
    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique à l’aide des méthodes asUser() et quick(). Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.
    (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);
        }  
    
    })();

    Erreurs

    Ces erreurs peuvent se produire lors de l’utilisation de la méthode asUser() :
    • Le script renvoie une erreur lorsque asUser() n’est pas utilisé avec quick().
    • Le script renvoie une erreur lorsque asUser() est appelé dans un flux dont les rôles ont été définis.
    • Le script renvoie une erreur lorsque les méthodes withRoles() et asUser() sont appelées en même temps.

    ScriptableFlowRunner : datastream(String scopedDatastreamName)

    Identifie le champ d’application et le nom de l’action de flux de données à exécuter.

    Pour en savoir plus sur les actions de flux de données, consultez Pagination et actions de flux de données.

    Tableau 11. Paramètres
    Nom Type Description
    scopedDatastreamName Chaîne Champ d’application et nom de l’action de flux de données à exécuter. Par exemple, global.dataStreamActionName.
    Tableau 12. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter une action de flux de données.

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

    Sortie :

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

    Exécute le flux, le flux secondaire ou l’action de manière asynchrone. Une fois que l’objet de flux commence à s’exécuter, l’exécution du script reprend immédiatement.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter un flux de manière asynchrone.

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

    Sortie :

    
    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)

    Exécute le flux, le flux secondaire ou l’action dans le domaine spécifié. Vérifie que le domaine existe et est disponible.

    Tableau 15. Paramètres
    Nom Type Description
    domainId Chaîne sys_id ou nom du domaine d’exécution du flux.
    Tableau 16. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique. Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.

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

    Exécute le flux, le flux secondaire ou l’action de manière synchrone. L’exécution du script s’interrompt pendant l’exécution de l’objet de flux.

    Remarque :
    Cette méthode ne prend pas en charge la mise en pause de l’action en attente des conditions. Les étapes qui s’interrompent pour des conditions d’attente telles que Demander l’approbation ou Attendre une condition ne sont pas prises en charge.
    Tableau 17. Paramètres
    Nom Type Description
    Aucun
    Tableau 18. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique. Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.

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

    Exécute un flux, un flux secondaire, une action ou une action de flux de données à partir d’un script côté serveur de manière synchrone ou asynchrone sans créer de détails d’exécution ou d’autres enregistrements connexes. Améliore les performances en éliminant les frais généraux liés à la tenue des dossiers. Utilisez cette API pour augmenter la vitesse de traitement de gros volumes, par exemple plusieurs exécutions par seconde, dans un environnement de production.

    Rapports et enregistrements générés
    Cette méthode ne crée pas de détails d’exécution ni d’enregistrements de contexte, quels que soient les Concepteur de flux paramètres.
    Prise en charge de la condition d’attente
    Cette méthode ne prend pas en charge la mise en pause d’une action ou d’un flux dans l’attente de conditions. Les actions, la logique de flux et les étapes qui s’interrompent pour des conditions d’attente telles que Demander l’approbation, Attendre une condition ou Attendre pendant une certaine durée ne sont pas prises en charge.
    Prise en charge du MID Server
    Cette méthode ne prend pas en charge la mise en pause d’une action ou d’un flux à exécuter à partir d’un MID Server. Cette restriction inclut les scripts de prétraitement d’action de flux de données qui mettent en pause une action pour qu’elle s’exécute à partir d’un MID Server.
    Prise en charge de l’action de flux de données
    Cette méthode ne prend pas en charge la mise en pause d’une action de flux de données pour exécuter un script de prétraitement à partir d’un MID Server.
    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter un flux sans créer d’enregistrements connexes.

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

    Sortie :

    Flow Designer: Message to log.
    *** Script: [object FlowRunnerResult]

    ScriptableFlowRunner - run()

    Exécute le flux, le flux secondaire ou l’action avec les paramètres spécifiés.

    Tableau 21. Paramètres
    Nom Type Description
    Aucun
    Tableau 22. Renvoie
    Type Description
    ScriptableFlowRunnerResultsScoped Objet contenant les détails d’exécution d’une action, d’un flux ou d’un Concepteur de flux flux secondaire.

    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique. Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.

    
    (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 (délai d’expiration du nombre)

    Définit un délai d’expiration pour un flux, un flux secondaire ou l’exécution d’une action.

    Tableau 23. Paramètres
    Nom Type Description
    timeout Numéro Délai d’expiration en millisecondes.
    Tableau 24. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter un flux et définit un délai d’expiration de deux minutes.

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

    Sortie :

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

    Générer une erreur et empêcher l’exécution de la classe ScriptableFlowRunner lorsqu’une entrée de méthode a une valeur inattendue. La valeur par défaut de cette méthode est true pour tout appel ScriptableFlowRunner.

    Tableau 25. Paramètres
    Nom Type Description
    validateInputs Booléen Marqueur indiquant si les entrées de la méthode ScriptableFlowRunner doivent être validées.
    Il existe deux valeurs valides.
    • true : génère une erreur lorsque les entrées ont des valeurs inattendues et arrête l’exécution du script.
    • false : autorise le script à s’exécuter avec des valeurs inattendues.

    Valeur par défaut : vrai

    Tableau 26. Renvoie
    Type Description
    Néant

    Cet exemple montre comment exécuter un flux sans valider les valeurs d’entrée de la méthode.

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

    Sortie :

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

    Remplace l’alias Connexions et informations d'identification associé au flux, à l’action ou au flux secondaire. Vous pouvez remplacer l’alias parent par défaut par n’importe lequel de ses alias enfants.

    Pour en savoir plus sur le remplacement d’un Connexions et informations d'identification alias, reportez-vous à la rubrique Prise en charge de plusieurs connexions.

    Tableau 27. Paramètres
    Nom Type Description
    parentAliasSysID Chaîne La sys_id de l’alias parent, l’alias que vous souhaitez remplacer.
    overrideAliasSysID Chaîne La sys_id de l’alias enfant, l’alias que vous souhaitez utiliser lors de l’exécution du flux, du flux secondaire ou de l’action.
    Tableau 28. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Cet exemple montre comment exécuter un flux à l’aide d’un alias différent de la valeur par défaut associée au flux.

    (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(entrées de carte)

    Ajoute une collection d’entrées. Si un nom dans l’une des paires nom-valeur existe déjà, la nouvelle valeur remplace la valeur préexistante.

    Tableau 29. Paramètres
    Nom Type Description
    entrées Objet Objet de carte contenant les paires nom-valeur qui définissent les entrées du flux, du flux secondaire ou de l’action.
    Tableau 30. Renvoie
    Type Description
    Exécuteur de flux scriptable Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.

    Crée un objet d’entrée et transmet la valeur à la méthode 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()

    Exécute le flux en tant qu’utilisateur qui a déclenché le flux ou exécute le flux avec les rôles qui ont été ajoutés dans Concepteur de flux.

    Lorsqu’un flux est déclenché à l’aide de quick() avec la méthode withRoles(), les rôles définis dans les propriétés du flux sont récupérés, transmis pendant l’exécution du flux, et le flux est exécuté avec les rôles.

    Tableau 31. Paramètres
    Nom Type Description
    Aucun
    Tableau 32. Renvoie
    Type Description
    ScriptableFlowRunner : inclus dans le périmètre Objet du générateur utilisé pour exécuter une action, un flux ou un Concepteur de flux flux secondaire.
    Cet exemple montre comment créer un objet générateur ScriptableFlowRunner et l’utiliser pour exécuter une action d’approbation sur un enregistrement spécifique à l’aide des méthodes withRoles() et quick(). Un objet ScriptableFlowRunnerResult capture les arguments d’exécution et les sorties d’action.
    (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);
    
        }  
    
    })();

    Erreurs

    Ces erreurs peuvent se produire lors de l’utilisation de la méthode withRoles() :
    • withRoles() n’effectue aucune opération si elle n’est pas utilisée avec quick().
    • Le script renvoie une erreur lorsque withRoles() est appelé dans un flux qui n’a pas de rôles.
    • Le script renvoie une erreur lorsque les méthodes withRoles() et asUser() sont appelées en même temps.