Exécuter automatiquement les guides de commande

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 6 minutes de lecture
  • Les guides de commande de Service Catalog permettent aux clients d’effectuer une seule demande de catalogue de services pouvant générer plusieurs éléments commandés. Les administrateurs peuvent configurer des guides de commande pour qu’ils s’exécutent automatiquement, à partir d’un workflow ou d’un script, afin de générer un ensemble d’éléments commandés sans soumettre manuellement une demande de catalogue de services. Les administrateurs peuvent également examiner et traiter à nouveau les échecs de guide de commande.

    En tant que cas d’utilisation, un workflow d’intégration pour un nouvel employé peut exécuter un guide de commande afin de commander automatiquement des articles pour cet employé.

    Remarque :
    Vous ne pouvez enregistrer que les éléments de catalogue, pas le guide de commande (c’est-à-dire les options initiales de la page de destination).

    Exécuter des guides de commande à partir de scripts

    L’exécution de guides de commande avec un script côté serveur est plus complexe que l’utilisation de workflows, mais elle offre une plus grande flexibilité et peut être utilisée dans des situations autres que celles liées au workflow.

    Par exemple, vous pouvez utiliser des scripts de guide de commande avec des actions d’interface utilisateur ou des règles métier côté serveur.
    Remarque :
    Lorsque les guides de commande s’exécutent automatiquement, les politiques d’interface utilisateur des guides de commande ne sont pas appliquées. De plus, les options de l’écran Choisir des options ne peuvent pas être sélectionnées, alors assurez-vous que les règles du guide de commande définissent des valeurs par défaut raisonnables pour ces options afin d’éviter les échecs de traitement.

    Utilisez le SNC. ScriptableOrderGuide Classe Java pour exécuter des guides de commande avec un script.

    Utilisez le SNC. ScriptableOrderGuide(String orderGuideId) pour créer un nouvel objet ScriptableOrderGuide.

    Résumé de la méthode

    Méthode Valeur de retour Description
    process(chaîne json) booléen Exécute le guide de commande à l’aide du paramètre de chaîne codé JSON comme entrée du guide de commande. Renvoie la valeur Vrai ou Faux selon que le traitement a réussi ou non.
    Remarque :
    Les paramètres opened_by et requested_for doivent être transmis au guide de commande et les deux doivent avoir un enregistrement utilisateur valide sys_id valeurs.

    Si le traitement réussit et qu’une demande est créée par le guide de commande, vous pouvez récupérer la demande GlideRecord à l’aide de getRequest().

    Si le traitement échoue, vous pouvez récupérer le GlideRecord d’échec à l’aide de getFailure(), puis soumettre le script pour un nouveau traitement à l’aide de l’option retraitement.

    retraiter (échec GlideRecord) booléen Exécute à nouveau le guide de commande à l’aide du paramètre de chaîne codé JSON stocké dans le GlideRecord de défaillance.
    getMessage() Chaîne Récupère le message renseigné après le traitement ou le retraitement.
    getRequest() GlideRecord Récupère le GlideRecord de demande.
    getFailure() GlideRecord Récupère le GlideRecord de défaillance à partir de la table Défaillances du guide de commande scriptables [sc_script_order_guide_failure].

    Exemple de script

    Ce script traite un guide de commande appelé IT Onboarding SOG.
    // Creating the object to later be JSON encoded 
    var json = {"opened_by":"62826bf03710200044e0bfc8bcbe5df1","requested_for":"06826bf03710200044e0bfc8bcbe5d8a","department":"221f3db5c6112284009f4becd3039cc9"};
     
    var now_GR = new GlideRecord("sc_cat_item_guide");
    if (gr.get("name","IT Onboarding SOG")) {
      var sog = new SNC.ScriptableOrderGuide(gr.getValue("sys_id"));
      var result = sog.process(new JSON().encode(json));
      if(!result)
        gs.log("Processing the scriptable order guide failed with message: " + sog.getMessage());
      else { 
        var request = sog.getRequest();
        gs.log("Request created - " + request.sys_id); } }

    Guides de commande en cours d’exécution à partir des workflows

    L’exécution d’un guide de commande à partir d’un workflow convient si vous incluez des guides de commande dans le cadre d’un processus plus large basé sur un workflow.

    Par exemple, une activité d’un workflow d’intégration pour un nouvel employé peut exécuter automatiquement un guide de commande pour commander des articles pour cet employé.
    Remarque :
    Lorsque les guides de commande s’exécutent automatiquement, les politiques d’interface utilisateur des guides de commande ne sont pas appliquées. De plus, les options de l’écran Choisir des options ne peuvent pas être sélectionnées, alors assurez-vous que les règles du guide de commande définissent des valeurs par défaut raisonnables pour ces options afin d’éviter les échecs de traitement.
    Pour exécuter des guides de commande à partir d’un workflow, utilisez l’activité de workflow Guide de commande pouvant contenir des scripts .
    Tableau 1. Guides de commande en cours d’exécution à partir des workflows
    Champ Description
    Guide de commande Nom du guide de commande que cette activité traite. Par exemple, Exemple : Intégration d’employés : IT.
    Script Un script transmettant des informations au guide de commande. Ces informations sont envoyées sous la forme d’un paramètre de chaîne codé JSON affecté à la variable de réponse .
    Le script doit répondre aux exigences suivantes :
    • Les noms des variables dans le script doivent correspondre aux noms utilisés dans le guide de commande. Par exemple, si le guide de commande utilise une variable de département dans une condition de règle, le script doit également transmettre un department paramètre.
    • Les paramètres opened_by et requested_for doivent être transmis au guide de commande et les deux doivent avoir un enregistrement utilisateur valide sys_id valeurs.

    Résultats

    • Réussite : l’activité a traité le guide de commande avec succès. Cela ne signifie pas qu’une demande a été créée. Si une demande a été créée, le sys_id de demande est ajouté au bloc-notes du workflow sous la variable sc_request .
    • Échec : une défaillance s’est produite lors du traitement du guide de commande, ce qui a entraîné la création d’un enregistrement de défaillance. Si le traitement échoue, vous pouvez afficher et modifier l’enregistrement de défaillance.

    Exemple de workflow

    L’exemple de workflow Embauche d’employés utilise cet exemple pour générer des éléments de catalogue informatique pour un nouvel employé dans le cadre d’un processus d’intégration.

    L’activité utilise ce script pour :
    1. Utilisez une chaîne JSON générée précédemment à partir de l’enregistrement d’un changement RH.
    2. Ajoutez le obligatoire opened_by et requested_for les paramètres à cette chaîne.
    3. Soumettez la nouvelle chaîne pour traitement par le guide de commande.
    var parameters  = new JSON().decode(current.payload);
     
    // Need to amend the json object to include additional values.
    parameters.opened_by = current.opened_by + "";
    parameters.requested_for = current.opened_for + "";
     
    answer = new JSON().encode(parameters);

    Afficher les défaillances du guide de commande

    Le traitement du guide de commande peut échouer, par exemple si le guide de commande en cours d’exécution n’existe pas. Lorsqu’une défaillance se produit pendant le traitement du guide de commande, le sous-module Défaillances de guide de commande scriptables vous permet d’examiner et de traiter à nouveau les défaillances. Un enregistrement est créé pour chaque défaillance et, une fois que vous avez corrigé les erreurs à l’origine de la défaillance initiale, vous pouvez traiter à nouveau les guides de commande ayant échoué.

    Pourquoi et quand exécuter cette tâche

    Si une défaillance se produit, un enregistrement de défaillance est créé dans la table Guide de commande scriptable Défaillances [sc_script_order_guide_failure].

    Pour afficher les détails d’une défaillance, accédez à Catalogue de services > Administration des catalogues > Défaillances de guide de commande scriptables, puis ouvrez un enregistrement de défaillance.

    Échecs de retraitement : si vous avez corrigé l’erreur à l’origine de l’échec initial, vous pouvez traiter à nouveau les guides de commande ayant échoué.

    Procédure

    1. Accédez à la Catalogue de services > Administration des catalogues > Défaillances de guide de commande scriptables.
    2. Ouvrez l’enregistrement de défaillance.
    3. Cliquez sur le lien connexe Retraiter .
      Pour retraiter une ou plusieurs défaillances :
      1. Accédez à la Catalogue de services > Administration des catalogues > Défaillances de guide de commande scriptables.
      2. Cochez la case en regard d’un ou de plusieurs enregistrements à retraiter.
      3. Sélectionnez Retraiter dans la liste de choix Actions .