Exécution automatique des guides de commande

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 6 minutes de lecture
  • Les guides de commande de catalogue de services permettent aux clients d’effectuer une seule demande de catalogue de services qui peut générer plusieurs éléments commandés. Les administrateurs peuvent configurer les 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 pour commander automatiquement des éléments 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 des workflows.

    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. Classe Java ScriptableOrderGuide 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ée JSON comme entrée pour le guide de commande. Renvoie la valeur Vrai ou Faux selon que le traitement a réussi ou non.
    Remarque :
    Les paramètres and requested_for doivent tous deux opened_by ê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 l’échec GlideRecord à l’aide de getFailure(), puis soumettre le script pour un nouveau traitement à l’aide de reprocess.

    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 la demande GlideRecord.
    getFailure() GlideRecord Récupère l’échec GlideRecord à partir de la table Échecs du guide de commande scriptable [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); } }

    Exécuter des guides de commande à 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é dans un workflow d’intégration pour un nouvel employé peut exécuter automatiquement un guide de commande pour commander des éléments 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. Exécuter des guides de commande à partir des workflows
    Champ Description
    Guide de commande Nom du guide de commande que cette activité traite. Par exemple, Exemple d’embauche d’employé informatique.
    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 du 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 and requested_for doivent tous deux opened_by ê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é avec succès le guide de commande. 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, créant ainsi un enregistrement de défaillance. Si le traitement échoue, vous pouvez afficher et modifier l’enregistrement de défaillance.

    Exemple de workflow

    Le workflow Exemple de workflow Embauche d’employé informatique 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. Prenez une chaîne JSON générée précédemment à partir de l’enregistrement d’un changement RH.
    2. Ajoutez les paramètres obligatoires opened_by et requested_for à 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 échecs 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 Échecs de guide de commande pouvant contenir des scripts vous permet d’examiner et de traiter à nouveau les échecs. Un enregistrement est créé pour chaque défaillance. Une fois que vous avez corrigé les erreurs à l’origine de l’erreur 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 Échecs du guide de commande scriptable [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 retraiter 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 traiter à nouveau 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 .