Exécution automatique des guides de commande
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é.
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.
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
// 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.
| 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 :
|
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.
- Prenez une chaîne JSON générée précédemment à partir de l’enregistrement d’un changement RH.
- Ajoutez les paramètres obligatoires opened_by et requested_for à cette chaîne.
- 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 à , 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é.