Exécuter automatiquement les guides de commande

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 5 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 défaillances du guide de commande.

    Dans le 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 pouvez uniquement enregistrer des éléments de catalogue, et non le guide de commande (c’est-à-dire les options de page de destination initiale).

    Exécution de 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 plus de flexibilité et peut être utilisée en dehors 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 du guide de commande ne sont pas appliquées. De plus, les options de l’écran Choisir des options ne peuvent pas être sélectionnées. Assurez-vous donc 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) constructeur permettant de 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 en utilisant le paramètre de chaîne codée JSON comme entrée pour le guide de commande. Renvoie vrai ou faux selon que le traitement a réussi ou non.
    Remarque :
    Les paramètres et opened_byrequested_for doivent être transmis au guide de commande, et les deux doivent avoir des valeurs d’enregistrement utilisateur sys_id valides.

    Si le traitement réussit et qu’une demande est créée par le guide de commande, vous pouvez récupérer le GlideRecord de la demande à 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 retraitement à l’aide de retraitement.

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

    Exemple de script

    Ce script traite un guide de commande appelé SOG d’intégration informatique.
    // 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écution des guides de commande à partir des workflows

    L’exécution d’un guide de commande à partir d’un workflow est adaptée si vous incluez des guides de commande dans le cadre d’un processus plus large basé sur le 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 du guide de commande ne sont pas appliquées. De plus, les options de l’écran Choisir des options ne peuvent pas être sélectionnées. Assurez-vous donc 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écution des guides de commande à partir des workflows
    Champ Description
    Guide de commande Le nom du guide de commande que cette activité traite. Par exemple, par exemple, Informatique d’intégration des employés.
    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ée 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 et opened_byrequested_for doivent être transmis au guide de commande, et les deux doivent avoir des valeurs d’enregistrement utilisateur sys_id valides.

    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, la sys_id de demande est ajoutée au bloc-notes du workflow sous la variable sc_request .
    • Échec : lors du traitement du guide de commande, une défaillance s’est produite, créant 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 de workflow informatique d’intégration 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. 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 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 du guide de commande scriptables vous permet d’examiner et de retraiter les défaillances. Un enregistrement est créé pour chaque échec et, une fois que vous avez corrigé les erreurs à l’origine de l’échec initial, 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 Défaillances de guide de commande scriptables [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 des défaillances.
    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 .