Configurer l’intégration des stories d’utilisateurs de l’instance
Suivez formellement les résultats d’un environnement de non-production à l’aide de stories dans une instance de production. Pour configurer l’intégration des stories d’utilisateurs de l’instance ServiceNow, exécutez la procédure.
Avant de commencer
Rôle requis : administrateur du moteur d’analyse (sn_se.scan_engine_admin)
Procédure
-
Enregistrez vos instances.
Consultez Enregistrez votre instance.
-
Définissez la table User Story.
La table sélectionnée devient la table cible dans laquelle vous souhaitez insérer un enregistrement. Les tables basées sur des tâches telles que
rm_storysont un choix courant. Cette table doit exister à la fois sur l’instance source et sur l’instance cible. -
Personnalisez le script associé pour gérer les mises à jour de champ de façon dynamique en fonction de la table de stories d’utilisateurs sélectionnée et définissez le mappage de champs des stories d’utilisateurs et les champs disponibles.
Cela permet d’utiliser des scripts pour définir un mappage entre un résultat dans l’environnement inférieur et une story dans l’environnement supérieur. Par exemple, vous pouvez spécifier les valeurs qui renseignent la description brève, la description ou tout autre champ disponible dans la table sélectionnée.
Par défaut, des informations utiles sont fournies dans les commentaires, ainsi qu’un exemple qui peut être utilisé comme guide. Configurez le script en fonction de vos besoins.
Les variables suivantes sont disponibles lors de la configuration des scripts de traitement des instances source et destination.
isSource- Défini sur
vrailors de l’exécution sur l’instance source (dev). isDestination- Défini sur
vrailors de l’exécution sur l’instance de destination (prod). charge utile- Variable définie par l’utilisateur utilisée pour transmettre des informations entre les instances.
grFinding- GlideRecord du résultat à l’origine de la demande. Défini sur l’instance source uniquement. Les champs disponibles sont ceux de la table
sn_se_finding. grTask- GlideRecord en cours de création sur l’instance de destination. Défini sur l’instance de destination uniquement. Les champs disponibles sont ceux de la table sélectionnée dans la colonne Table des stories d’utilisateurs .
Lorsque
isSourcea la valeurvrai, le script s’exécute uniquement sur l’instance source. Utilisez ce bloc pour charger l’objet decharge utileavec les variables de l’enregistrement de résultat. Les champs disponibles sont ceux de la tablesn_se_finding.if (isSource) { // This logic is ONLY executed on the SOURCE instance. // Load the 'payload' object with variables from the finding record. // The fields which can be used are fields within the sn_se_finding table. payload.short_description = "Story generated from finding - " + grFinding.getDisplayValue(); payload.description = "Definition: " + grFinding.definition.short_description; payload.description += "\nFinding details: " + grFinding.getValue('finding_details'); payload.description += "\nFinding URL: " + gs.getProperty("glide.servlet.uri") + grFinding.getLink(false); }Lorsque
isDestinationa la valeurvrai, le script s’exécute uniquement sur l’instance cible. Utilisez ce bloc pour appliquer les valeurs d’objet decharge utileaux champs de la table Story ou Tâche. Assurez-vous quegrTask.insert()est appelé afin que l’enregistrement soit créé. Si vous avez sélectionnérm_story, les champs disponibles sont ceux de la tablerm_story.if (isDestination) { // This logic is ONLY executed on the TARGET instance. // Set the field values in the Story/Task table using the payload object. // The fields which can be used are fields within the Story table. // If you selected rm_story, the fields you can set are those of the rm_story table. grTask.short_description = payload.short_description; grTask.description = payload.description; grTask.insert(); }Voici un exemple complet montrant à la fois le traitement source et le traitement de destination.
// Available variables // isSource - True when on source instance (dev) // isDestination - True when on destination instance (prod) // payload - The user-defined variable used to pass information between instances // grFinding - The GlideRecord of the finding sending the request (source only) // grTask - The GlideRecord being created on the destination instance (destination only) // Source processing and payload preparation if (isSource) { payload.short_description = "Story generated from finding - " + grFinding.getDisplayValue(); payload.description = "Definition: " + grFinding.definition.short_description; payload.description += "\nFinding details: " + grFinding.getValue('finding_details'); payload.description += "\nFinding URL: " + gs.getProperty("glide.servlet.uri") + grFinding.getLink(false); } // Destination processing and payload use // Make sure to include grTask.insert() so that the record is created if (isDestination) { grTask.short_description = payload.short_description; grTask.description = payload.description; grTask.insert(); } - Une fois les instances validées et le mappage terminé, les clients peuvent sélectionner les résultats à transmettre à l’instance cible.