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