DuplicateTemplate : dans le champ d’application
L’API DuplicateTemplate fournit des méthodes permettant aux utilisateurs d’interagir avec les modèles de déduplication en appliquant un ensemble de validations pour chaque méthode.
Le rattrapage des tâches de déduplication peut être plus long qu’il n’est souhaitable lorsqu’il est traité individuellement. Les modèles de duplication permettent de regrouper un ensemble de tâches en double et de les exécuter ensemble. Utilisez l’API DuplicateTemplate pour créer et utiliser des modèles de déduplication. Cette API s’exécute dans l’espace de noms sn_cmdb et nécessite l’accès au rôle cmdb_dedup_admin.
Lorsqu’une instance détecte des éléments de configuration (CI) en double lors de l’identification et du rapprochement, elle regroupe chaque ensemble de CI en double dans une tâche de déduplication à des fins d’examen et de correction. Les tâches de déduplication fournissent des détails sur la duplication, y compris une liste de tous les CI en double. (pour en savoir plus, consultez Duplicate CIs remediation) ;
Voir aussi : IdentificationEngine - Dans le champ d’application
- Cycle de vie du modèle
- Utilisez la méthode CreateTemplate() pour créer un modèle à l’état brouillon.Vous pouvez utiliser les méthodes suivantes pour récupérer ou mettre à jour le modèle :
- Utilisez la méthode publishTemplate() pour faire passer le modèle de l’état Brouillon à l’état Publié.Remarque :Utilisez la méthode unPublishTemplate() pour ramener un modèle publié à l’état de brouillon et mettre à jour le modèle.
- Facultatif. Utilisez l’include de script CMDBDuplicateTemplateUtil pour ajouter ou supprimer des tâches.
- Utilisez la méthode runTemplate() pour exécuter le modèle.
Pour annuler une tâche en cours d’exécution, utilisez la méthode requestCancellation( ).
- Si le modèle n’est plus nécessaire, vous pouvez le mettre hors service à l’aide de la méthode retireTemplate( ).
- Utilisez la méthode CreateTemplate() pour créer un modèle à l’état brouillon.
- Rattrapage d’une seule tâche à l’aide d’un modèle
- Pour corriger une seule tâche sans exécuter le modèle, vous pouvez prévisualiser et rattraper les tâches de déduplication.
- Utilisez la méthode previewTemplate() pour prévisualiser le rattrapage d’une tâche unique avec un modèle.
- Utilisez la méthode remediateTask() pour corriger la tâche de déduplication avec un modèle.
DuplicateTemplate : canAddTasksToTemplate(Array taskIds, chaîne templatId)
Vérifie si la liste de tâches fournie peut être ajoutée à un modèle.
Utilisez cette méthode pour déterminer si les tâches peuvent être ajoutées au modèle. Par exemple, le modèle spécifié peut être créé pour le serveur d’applications Tomcat, mais les tâches de déduplication spécifiées sont créées pour le serveur Linux. Ces tâches n’ont pas de classe de modèle correspondante et ne peuvent donc pas être ajoutées au modèle.
| Nom | Type | Description |
|---|---|---|
| taskIds | Tableau | Tableau des sys_ids des tâches de déduplication à ajouter au modèle. |
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Objet | Objet de résultat contenant les tâches qui peuvent être ajoutées, ignorées ou ayant échoué. |
| échoué | Une erreur s’est produite lors de la vérification de la compatibilité de la tâche avec le modèle. Voir aussi Detecting duplicate CIs. |
| ignoré | Les tâches sont incompatibles, car elles n’ont pas de classe de modèle correspondante, par conséquent la tâche a été ignorée. |
| succès | La tâche correspond à la classe de modèle et peut être ajoutée au modèle. |
L’exemple suivant montre comment vérifier les tâches qui peuvent être ajoutées au modèle.
var taskIds = [];
taskIds.push(<task_id_1>);
taskIds.push(<task_id_2>);
taskIds.push(<task_id_3>);
var result = sn_cmdb.DuplicateTemplate.canAddTasksToTemplate(taskIds, <template_id>);
gs.info('Success:' + result.success);
gs.info('Failed:' + result.failed);
gs.info('Skipped:' + result.skipped);
Sortie :
Success: <task_id_1>
Failed: <task_id_2>
Skipped: <task_id_3>
DuplicateTemplate : createTemplate(modèle d’objet)
Crée un modèle de déduplication à l’état brouillon.
| Nom | Type | Description |
|---|---|---|
| modèle | Objet | Objet de modèle avec différentes options pour créer le modèle. |
| template.allow_null_attribute_update | Booléen | Facultatif. Marqueur indiquant si les attributs de CI principaux sont mis à jour avec des valeurs Null provenant de CI en double lors de la résolution de conflits d’attributs pour les CI au sein d’une tâche de déduplication. Valeurs valides :
Valeur par défaut : false |
| template.allow_master_ci_null_update | Booléen | Facultatif. Inclut uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle. Marqueur indiquant s’il faut inclure uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle. Valeurs valides :
Valeur par défaut : false |
| template.description | Chaîne | Facultatif. Description pour stocker plus d’informations sur le modèle. |
| template.duplicate_ci_action | Chaîne | Facultatif. Spécifie si le CI en double doit être supprimé ou mis à jour avec des valeurs personnalisées uniques. Options possibles :
|
| template.duplicate_ci_updates | Tableau | Facultatif, sauf si le paramètre est duplicate_ci_actionmis à jour. Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour. |
| template.duplicate_ci_updates.élément | Chaîne | Nom du dictionnaire système d’un champ de référence. |
| template.duplicate_ci_updates.étiquette_élément | Chaîne | Étiquette affichée dans le champ de référence. |
| template.duplicate_ci_updates.valeur | Chaîne | Valeur d’un champ de référence, c’est-à-dire le contenu du champ de référence. |
| template.duplicate_ci_updates.display | Chaîne | Valeur d’affichage pour un champ de référence. |
| template.master_ci_option | Chaîne | Facultatif. Spécifie comment le CI principal est sélectionné pour une tâche de déduplication lors de l’application de ce modèle. Options possibles :
|
| template.master_ci_condition | Chaîne | Facultatif (obligatoire si la valeur est master_ci_optionconditionnelle). Requête codée pour spécifier comment le CI principal est sélectionné. Si plusieurs CI ou aucun CI ne correspondent à la requête, la méthode sélectionne le CI le plus récemment mis à jour comme CI principal. La requête codée est évaluée pour la table de modèles. Cette table est identifiée dans la table propriété. Pour plus d’informations, consultez Chaînes de requête codées . |
| template.merge_relations | Chaîne | Facultatif. Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
|
| template.merge_relations | Chaîne | Facultatif. Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
|
| template.merge_relations_condition | Chaîne | Facultatif (obligatoire si la valeur est merge_relationsconditionnelle). Requête codée pour spécifier si toutes les relations des doublons de CI sont fusionnées ou aucune d’entre elles. La requête est évaluée sur le CI principal sélectionné pour la tâche de déduplication. Si la requête renvoie la valeur vrai, toutes les relations sont fusionnées. Si la valeur est faux, aucune relation n’est fusionnée. La requête codée est évaluée pour la table de modèles. Cette table est identifiée dans la table propriété. Pour plus d’informations, consultez Chaînes de requête codées . |
| template.merge_related_items | Chaîne | Facultatif. Spécifie quelles tables connexes pour les doublons de CI au sein d’une tâche de déduplication sont fusionnées dans le CI principal lors de l’application de ce modèle. Voir aussi Remediate a de-duplication task (legacy). Options possibles :
|
| template.merge_related_items_condition | Tableau | Facultatif. Liste des entrées associées avec une requête codée pour chaque entrée associée. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur vrai, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur faux, les entrées associées ne sont pas fusionnées.Pour plus d’informations, consultez Chaînes de requête codées . |
| template.most_relations_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner à partir du CI ayant le plus de relations avec le CI principal. |
| template.most_related_items_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner à partir du CI avec les éléments les plus connexes au CI principal. |
| template.name | Chaîne | Nom du modèle. |
| template.newest_updated_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus récemment mis à jour dans le CI principal. |
| template.oldest_created_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal. |
| template.table | Chaîne | Table pour laquelle le modèle est créé. |
| template.task_conditions | Chaîne | Facultatif. Requête codée à évaluer lors de l’exécution du modèle. Cette requête est évaluée sur la table Rapprocher les données de la tâche en double [reconcile_duplicate_task_data]. Toutes les tâches renvoyées par cette requête sont prises en compte lors de l’évaluation du modèle. Remarque : Même si une tâche est renvoyée dans le cadre de la requête, cela ne garantit pas que l’exécution du modèle traite la tâche. D’autres facteurs peuvent entraîner l’omission de la tâche pendant le traitement du modèle. Pour plus d’informations, consultez Chaînes de requête codées . |
| Type | Description |
|---|---|
| Chaîne | Sys_id du modèle créé dans la table Rapprocher les modèles en double [reconcile_duplicate_template]. |
L’exemple suivant montre comment créer un modèle de déduplication.
var template = {
"name": "Test Windows Template",
"table": "cmdb_ci_win_server",
"description": "This is a Windows server template",
"master_ci_option": "oldest_created",
"master_ci_condition": "",
"allow_null_attribute_update": false,
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "serial_number,os_version",
"merge_relations": "all",
"merge_relations_condition": "",
"merge_related_items": "conditional",
"merge_related_items_condition": [
{
"related_entry": "change_request.cmdb_ci",
"condition": "ramCONTAINS1024"
},
{
"related_entry": "incident.cmdb_ci",
"condition": "os_versionCONTAINSWindows"
}
],
"duplicate_ci_action": "delete",
"duplicate_ci_updates": [{
"element": "ram",
"element_label": "RAM (MB)",
"value": "1024",
"display": "1024"
}],
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
};
var templateId = sn_cmdb.DuplicateTemplate.createTemplate(template);
gs.info(templateId);
Sortie :
8dfcd36e042b2510f877c1665753a485
DuplicateTemplate : getTemplate(String templateId)
Obtient l’objet du modèle.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Objet | Objet de modèle avec différentes options pour créer le modèle. |
| <Object>.allow_null_ attribute_update | Marqueur indiquant si les attributs de CI principaux sont mis à jour avec des valeurs Null provenant de CI en double lors de la résolution de conflits d’attributs pour les CI au sein d’une tâche de déduplication. Valeurs valides :
Type de données : booléennes |
| <Object>.allow_master_ci_ null_update | Inclut uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle. Valeurs valides :
Type de données : booléennes |
| <Object>.description | Description pour stocker plus d’informations sur le modèle. Type de données : chaîne |
| <Object>.duplicate_ ci_action | Spécifie si le CI en double doit être supprimé ou mis à jour avec des valeurs personnalisées uniques. Options possibles :
Type de données : chaîne |
| <Object>.duplicate_ ci_updates | Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour.Type de données : objet |
| <Object>.duplicateCIUpdates.element | Nom du dictionnaire système d’un champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.element_label | Étiquette affichée dans le champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.value | Valeur d’un champ de référence, c’est-à-dire le contenu du champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.display | Valeur d’affichage pour un champ de référence. Type de données : chaîne |
| <Object>.master_ci_ option | Spécifie comment le CI principal est sélectionné pour une tâche de déduplication lors de l’application de ce modèle. Options possibles :
Type de données : chaîne |
| <Object>.merge_relations | Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
Type de données : chaîne |
| <Object>.merge_related_items | Spécifie quelles tables connexes pour les doublons de CI au sein d’une tâche de déduplication sont fusionnées dans le CI principal lors de l’application de ce modèle. Voir aussi Remediate a de-duplication task (legacy). Options possibles :
Type de données : chaîne |
| <Object>.merge_related_items_ condition | Liste des entrées associées avec une requête codée pour chaque entrée associée. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur vrai, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur faux, les entrées associées ne sont pas fusionnées. Pour plus d’informations, consultez Chaînes de requête codées . Type de données : tableau |
| <Object>.most_relations_ merge_attributes | Attributs séparés par des virgules à fusionner à partir du CI ayant le plus de relations avec le CI principal. Type de données : chaîne |
| <Object>.most_related_items_ merge_attributes | Attributs séparés par des virgules à fusionner à partir du CI avec les éléments les plus connexes au CI principal. Type de données : chaîne |
| <Object>.nom | Nom du modèle. Type de données : chaîne |
| <Object>.newest_updated_ merge_attributes | Attributs séparés par des virgules à fusionner du CI le plus récemment mis à jour dans le CI principal. Type de données : chaîne |
| <Object>.oldest_created_ merge_attributes | Attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal. Type de données : chaîne |
| <Object>.table | Table pour laquelle le modèle est créé. Type de données : chaîne |
| <Object>.task_condition_table | Emplacement des conditions de la tâche de la table, c’est-à-dire la table Rapprocher les données de la tâche en double [reconcile_duplicate_task_data]. La valeur ne change jamais et la table est destinée à un usage interne uniquement. Type de données : chaîne |
| <Object>.task_conditions | Requête codée à évaluer lors de l’exécution du modèle. Cette requête est évaluée sur la table Rapprocher les données de la tâche en double [reconcile_duplicate_task_data]. Toutes les tâches renvoyées par cette requête sont prises en compte lors de l’évaluation du modèle. Remarque : Même si une tâche est renvoyée dans le cadre de la requête, cela ne garantit pas que l’exécution du modèle traite la tâche. D’autres facteurs peuvent entraîner l’omission de la tâche pendant le traitement du modèle. Pour plus d’informations, consultez Chaînes de requête codées . Type de données : chaîne |
L’exemple suivant montre comment récupérer un modèle.
var template = sn_cmdb.DuplicateTemplate.getTemplate('<template_id>');
gs.info(JSON.stringify(template));
Sortie :
{
"most_relations_merge_attributes": "",
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ",
"duplicate_ci_updates": "org.mozilla.javascript.NativeArray@5d3b19ef",
"description": "This is a Windows server template",
"master_ci_option": "oldest_created",
"merge_related_items": "conditional",
"duplicate_ci_action": "delete",
"newest_updated_merge_attributes": "",
"merge_related_items_condition": [
{
"condition": "os_versionCONTAINSWindows",
"related_entry": "incident.cmdb_ci"
},
{
"condition": "ramCONTAINS1024",
"related_entry": "change_request.cmdb_ci"
}
],
"most_related_items_merge_attributes": "",
"merge_relations": "all",
"task_condition_table": "reconcile_duplicate_task_data",
"name": "Test Windows Template",
"allow_null_attribute_update": false,
"table": "cmdb_ci_win_server",
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "serial_number,os_version"
}
DuplicateTemplate : previewTemplate(String templateId, String taskId)
Génère un aperçu de la façon dont les différentes options de modèle ont été appliquées à la tâche de déduplication et de la manière dont elle doit être corrigée.
Cette méthode valide tous les attributs requis avant de générer l’aperçu de la tâche à l’aide du modèle. Les modèles peuvent être créés ou mis à jour sans spécifier les attributs requis. Les attributs requis doivent être fournis pour prévisualiser n’importe quelle tâche de déduplication.
- duplicate_ci_action
- master_ci_option
- merge_related_items
- merge_relations
- nom
- table
Utilisez la méthode remediateTask() pour corriger les tâches de déduplication.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| taskId | Chaîne | Sys_id de la tâche de déduplication répertoriée dans la table Tâche de correction des doublons [reconcile_duplicate_task]. |
| Type | Description |
|---|---|
| Objet | Prévisualisez l’objet avec des valeurs montrant comment les tâches de déduplication peuvent être corrigées à l’aide du modèle. |
| <Object>.allClassCIMap | Liste des sys_ids de CI dans une tâche de déduplication, regroupés par classe CI. Par exemple, cmdb_ci_computer.Type de données : objet |
| <Object>.duplicateCIAction | Spécifie si le CI en double doit être supprimé ou mis à jour avec des valeurs personnalisées uniques. Options possibles :
Type de données : chaîne |
| <Object>.duplicateCIUpdates | Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour.Type de données : tableau |
| <Object>.duplicateCIUpdates.element | Nom du dictionnaire système d’un champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.element_label | Étiquette affichée dans le champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.value | Valeur d’un champ de référence, c’est-à-dire le contenu du champ de référence. Type de données : chaîne |
| <Object>.duplicateCIUpdates.display | Valeur d’affichage pour un champ de référence. Type de données : chaîne |
| <Object>.masterCI | Sys_id du CI qui a été sélectionné comme CI principal. Type de données : chaîne |
| <Object>.mergeRelations | Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
Type de données : chaîne |
| <Object>.relatedTablesMerged | Spécifie quelles tables connexes pour les doublons de CI au sein d’une tâche de déduplication sont fusionnées dans le CI principal lors de l’application de ce modèle. Voir aussi Remediate a de-duplication task (legacy). Options possibles :
Type de données : tableau |
| <Object>.resolvedFieldCIMap | Tableau d’éléments à fusionner à partir des CI en double dans le CI principal.Type de données : tableau |
| <Object>.resolvedFieldCIMap.élément | Nom de l’élément à fusionner à partir d’un CI en double dans le CI principal. Type de données : chaîne |
| <Object>.resolvedFieldCIMap.sys_id | Sys_id de l’élément à fusionner d’un CI en double dans le CI principal. Type de données : chaîne |
| <Object>.taskId | Sys_id de la tâche de déduplication répertoriée dans la table Tâche de correction des doublons [reconcile_duplicate_task]. Type de données : chaîne |
| <Object>.tooManyDupliqués | Marqueur indiquant si la tâche comporte plus de CI que le nombre maximal. Le seuil est déterminé en comparant la valeur de la propriété système glide.duplicate_ci_ remediator.max.cis (valeur par défaut 1 000 CI). Valeurs valides :
Type de données : booléennes |
L’exemple suivant montre comment obtenir un aperçu du rattrapage de déduplication pour un modèle spécifié.
var preview = sn_cmdb.DuplicateTemplate.previewTemplate("<template_id>", "<task_id>");
gs.info(JSON.stringify(preview));
Sortie :
{
"taskId": "<task_id>",
"masterCI": "<ci_sys_id_1>",
"allClassCIMap": {
"cmdb_ci_computer": [
"<ci_sys_id_1>",
"<ci_sys_id_2>"
]
},
"resolvedFieldCIMap": [
{
"element": "ram",
"sys_id": "<ci_sys_id_2>"
},
{
"element": "os_version",
"sys_id": "<ci_sys_id_2>"
}
],
"mergeRelations": true,
"relatedTablesMerged": [
"incident.cmdb_ci",
"change_request.cmdb_ci"
],
"duplicateCIAction": "delete",
"duplicateCIUpdates": [],
"tooManyDuplicates": false
}
DuplicateTemplate : publishTemplate(String templateId)
Publie un modèle. En cas de réussite, le modèle passe de l’état Brouillon à l’état Publié.
Cette méthode valide tous les attributs requis avant de publier le modèle. Vous pouvez créer ou mettre à jour des modèles sans spécifier les attributs requis, mais les attributs doivent être fournis avant de publier un modèle.
- duplicate_ci_action
- master_ci_option
- merge_related_items
- merge_relations
- nom
- table
À l’état Publié, vous pouvez exécuter le modèle à l’aide de la méthode runTemplate( ).
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le modèle a été publié. Valeurs valides :
|
L’exemple suivant montre comment publier un modèle et afficher des résultats.
var isPublished = sn_cmdb.DuplicateTemplate.publishTemplate('<template_id>');
gs.info(isPublished);
Sortie :
true
DuplicateTemplate : remediateTask(String templateId, String taskId)
Corrige une tâche de déduplication à l’aide du modèle.
Si le modèle n’est pas à l’état Publié, il ne peut pas être exécuté et la méthode lève une exception.
Utilisez la méthode previewTemplate() pour prévisualiser la manière dont les tâches de déduplication doivent être corrigées.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| taskId | Chaîne | Sys_id de la tâche de déduplication répertoriée dans la table Tâche de correction des doublons [reconcile_duplicate_task]. |
| Type | Description |
|---|---|
| Chaîne | En cas de réussite, l’ID de résolution de fusion pour le rattrapage de la tâche de déduplication. Cette résolution de fusion identifie le sys_id d’un enregistrement dans la table Rattrapage de CI en double [cmdb_duplicate_ci_remediation]. En cas d’échec, le modèle peut ne pas être dans l’état Publié. |
L’exemple suivant montre comment corriger une tâche de déduplication.
var mergeResolutionId = sn_cmdb.DuplicateTemplate.remediateTask("<template_id>", "<task_id>");
gs.info(mergeResolutionId);
Sortie :
<merge_resolution_id>
DuplicateTemplate : requestCancellation(String templateRunId)
Annule l’exécution d’un modèle existant.
Une demande d’annulation ne peut être effectuée que pour une exécution de modèle si celui-ci a l’état Brouillon, Prêt ou En cours d’exécution.
Après une demande d’annulation d’exécution de modèle, l’état d’exécution du modèle passe à l’étape intermédiaire Annulation demandée.
L’exécution de cette méthode n’annule pas automatiquement les exécutions de modèles à l’état Prêt ou Brouillon. L’état d’exécution du modèle ne bascule pas sur Annulé tant que les tâches en cours d’exécution ne sont pas terminées. À ce stade, toutes les tâches restantes pour le rattrapage passent de l’annulation demandée à l’annulation.
| Nom | Type | Description |
|---|---|---|
| templateRunId | Chaîne | Sys_id d’exécution du modèle répertorié dans la table Exécution du modèle de déduplication [reconcile_duplicate_template_run]. |
| Type | Description |
|---|---|
| Chaîne | Marqueur indiquant si la demande d’annulation a abouti. Valeurs valides :
|
L’exemple suivant montre comment annuler l’exécution d’un modèle et afficher si l’opération réussit.
var isCancelled = sn_cmdb.DuplicateTemplate.requestCancellation("487c67e2046b2510f877c1665753a4cc");
gs.info(isCancelled);
Sortie :
true
DuplicateTemplate : retireTemplate(String templateId)
Met un modèle hors service.
Utilisez cette méthode pour faire passer un modèle à l’état de mise hors service s’il n’est plus nécessaire.
- Le modèle est à l’état Publié.
- Le modèle est en cours d’exécution ou doit s’exécuter.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le modèle est mis hors service. Valeurs valides :
|
L’exemple suivant montre comment mettre hors service un modèle et afficher les résultats.
var isRetired = sn_cmdb.DuplicateTemplate.retireTemplate(<template_id>);
gs.info(isRetired);
Sortie :
true
DuplicateTemplate : runTemplate(String templateId)
Planifie une exécution de correction pour un modèle de déduplication à l’état Publié. Un modèle peut être exécuté plusieurs fois, mais vous ne pouvez planifier qu’une seule exécution à la fois.
Si le modèle n’est pas dans l’état Publié, il ne peut pas être exécuté et la méthode lève une exception. Utilisez la méthode publishTemplate() pour faire passer le modèle de l’état Brouillon à l’état Publié.
Pour annuler une tâche en cours d’exécution, utilisez la méthode requestCancellation( ).
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Chaîne | Sys_id du modèle exécuté répertorié dans la table Exécution du modèle de déduplication [reconcile_duplicate_template_run]. En cas d’échec, le modèle peut ne pas être dans l’état Publié. |
L’exemple suivant montre comment planifier une exécution pour un modèle de déduplication publié.
var template = sn_cmdb.DuplicateTemplate.runTemplate('<template_id>');
gs.info(JSON.stringify(template));
Sortie :
487c67e2046b2510f877c1665753a4cc
DuplicateTemplate : unPublishTemplate(String templateId)
Annule la publication d’un modèle.
Cette méthode fait passer le modèle de l’état Publié à l’état Brouillon, ce qui permet de mettre à jour le modèle. La publication du modèle ne peut pas être annulée s’il est en cours d’exécution ou planifiée.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la publication du modèle a été annulée avec succès. Valeurs valides :
|
L’exemple suivant montre comment annuler la publication d’un modèle et afficher les résultats.
var isUnPublished = sn_cmdb.DuplicateTemplate.unPublishTemplate(<template_id>);
gs.info(isUnPublished);
Sortie :
true
DuplicateTemplate : updateTemplate(String templateId, modèle d’objet)
Met à jour un modèle de déduplication à l’état brouillon.
| Nom | Type | Description |
|---|---|---|
| ID de modèle | Chaîne | Sys_id du modèle répertorié dans la table Rapprocher le modèle en double [reconcile_duplicate_template]. |
| modèle | Objet | Objet de modèle avec différentes options pour créer le modèle. |
| template.allow_null_attribute_update | Booléen | Facultatif. Marqueur indiquant si les attributs de CI principaux sont mis à jour avec des valeurs Null provenant de CI en double lors de la résolution de conflits d’attributs pour les CI au sein d’une tâche de déduplication. Valeurs valides :
Valeur par défaut : false |
| template.allow_master_ci_null_update | Booléen | Facultatif. Inclut uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle. Marqueur indiquant s’il faut inclure uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle. Valeurs valides :
Valeur par défaut : false |
| template.description | Chaîne | Facultatif. Description pour stocker plus d’informations sur le modèle. |
| template.duplicate_ci_action | Chaîne | Facultatif. Spécifie si le CI en double doit être supprimé ou mis à jour avec des valeurs personnalisées uniques. Options possibles :
|
| template.duplicate_ci_updates | Tableau | Facultatif, sauf si le paramètre est duplicate_ci_actionmis à jour. Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour. |
| template.duplicate_ci_updates.élément | Chaîne | Nom du dictionnaire système d’un champ de référence. |
| template.duplicate_ci_updates.étiquette_élément | Chaîne | Étiquette affichée dans le champ de référence. |
| template.duplicate_ci_updates.valeur | Chaîne | Valeur d’un champ de référence, c’est-à-dire le contenu du champ de référence. |
| template.duplicate_ci_updates.display | Chaîne | Valeur d’affichage pour un champ de référence. |
| template.master_ci_option | Chaîne | Facultatif. Spécifie comment le CI principal est sélectionné pour une tâche de déduplication lors de l’application de ce modèle. Options possibles :
|
| template.master_ci_condition | Chaîne | Facultatif (obligatoire si la valeur est master_ci_optionconditionnelle). Requête codée pour spécifier comment le CI principal est sélectionné. Si plusieurs CI ou aucun CI ne correspondent à la requête, la méthode sélectionne le CI le plus récemment mis à jour comme CI principal. La requête codée est évaluée pour la table de modèles. Cette table est identifiée dans la table propriété. Pour plus d’informations, consultez Chaînes de requête codées . |
| template.merge_relations | Chaîne | Facultatif. Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
|
| template.merge_relations | Chaîne | Facultatif. Spécifie comment les relations des CI en double dans une tâche de déduplication sont fusionnées lors de l’application de ce modèle. Options possibles :
|
| template.merge_relations_condition | Chaîne | Facultatif (obligatoire si la valeur est merge_relationsconditionnelle). Requête codée pour spécifier si toutes les relations des doublons de CI sont fusionnées ou aucune d’entre elles. La requête est évaluée sur le CI principal sélectionné pour la tâche de déduplication. Si la requête renvoie la valeur vrai, toutes les relations sont fusionnées. Si la valeur est faux, aucune relation n’est fusionnée. La requête codée est évaluée pour la table de modèles. Cette table est identifiée dans la table propriété. Pour plus d’informations, consultez Chaînes de requête codées . |
| template.merge_related_items | Chaîne | Facultatif. Spécifie quelles tables connexes pour les doublons de CI au sein d’une tâche de déduplication sont fusionnées dans le CI principal lors de l’application de ce modèle. Voir aussi Remediate a de-duplication task (legacy). Options possibles :
|
| template.merge_related_items_condition | Tableau | Facultatif. Liste des entrées associées avec une requête codée pour chaque entrée associée. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur vrai, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur faux, les entrées associées ne sont pas fusionnées.Pour plus d’informations, consultez Chaînes de requête codées . |
| template.most_relations_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner à partir du CI ayant le plus de relations avec le CI principal. |
| template.most_related_items_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner à partir du CI avec les éléments les plus connexes au CI principal. |
| template.name | Chaîne | Nom du modèle. |
| template.newest_updated_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus récemment mis à jour dans le CI principal. |
| template.oldest_created_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal. |
| template.table | Chaîne | Table pour laquelle le modèle est créé. |
| template.task_conditions | Chaîne | Facultatif. Requête codée à évaluer lors de l’exécution du modèle. Cette requête est évaluée sur la table Rapprocher les données de la tâche en double [reconcile_duplicate_task_data]. Toutes les tâches renvoyées par cette requête sont prises en compte lors de l’évaluation du modèle. Remarque : Même si une tâche est renvoyée dans le cadre de la requête, cela ne garantit pas que l’exécution du modèle traite la tâche. D’autres facteurs peuvent entraîner l’omission de la tâche pendant le traitement du modèle. Pour plus d’informations, consultez Chaînes de requête codées . |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le modèle a été mis à jour. Valeurs valides :
|
L’exemple suivant montre comment mettre à jour plusieurs propriétés d’un modèle de déduplication existant.
var template = {
"name": "Test Windows Template",
"table": "cmdb_ci_win_server",
"description": "This is a windows server template",
"master_ci_option": "newest_updated",
"master_ci_condition": "",
"allow_null_attribute_update": false,
"allow_master_ci_null_update": false,
"oldest_created_merge_attributes": "",
"newest_updated_merge_attributes": "ram,cpu_count",
"most_relations_merge_attributes": "",
"most_related_items_merge_attributes": "",
"merge_relations": "all",
"merge_relations_condition": "",
"merge_related_items": "conditional",
"merge_related_items_condition": [
{
"related_entry": "change_request.cmdb_ci",
"condition": "ramCONTAINS1024"
},
{
"related_entry": "incident.cmdb_ci",
"condition": "os_versionCONTAINSWindows"
}
],
"duplicate_ci_action": "delete",
"duplicate_ci_updates": "",
"task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
};
sn_cmdb.DuplicateTemplate.updateTemplate(<template_id>, template);
Sortie :
true