DuplicateTemplate - Inclus dans le périmètre
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 géré 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 du rôle cmdb_dedup_admin.
Lorsqu’une instance détecte des éléments de configuration (CI) en double pendant l’identification et la réconciliation, elle regroupe chaque ensemble de CI en double dans une tâche de déduplication à des fins de vérification 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 - Inclus dans le périmètre
- 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 déplacer le modèle de l’état Brouillon à l’état Publié.Remarque :Utilisez la méthode unPublishTemplate() pour renvoyer un modèle publié à l’état de brouillon et mettre à jour le modèle.
- (Facultatif) Utilisez le script include 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.
- Corriger une tâche unique à l’aide d’un modèle
- Pour corriger une seule tâche sans exécuter le modèle, vous pouvez prévisualiser et corriger les tâches de déduplication.
- Utilisez la méthode previewTemplate() pour prévisualiser la correction 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, String 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, elles 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 échouées. |
| É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, la tâche a donc é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 | L’objet de modèle avec différentes options pour la création du 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 dans le cadre 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 des CI en double si la valeur CI principale est nulle. Marqueur indiquant s’il faut inclure uniquement les mises à jour des CI en double si la valeur CI principale est nulle. Valeurs valides :
Valeur par défaut : false |
| description.modèle | 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 la façon dont les valeurs de CI en double sont mises à jour. |
| template.duplicate_ci_updates.element | Chaîne | Nom du dictionnaire système d’un champ de référence. |
| template.duplicate_ci_updates.element_label | Chaîne | Étiquette que le champ de référence affiche. |
| template.duplicate_ci_updates.value | 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 d’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 (requis si la valeur de master_ci_option est conditionnelle). Requête codée pour spécifier le mode de sélection du CI principal. 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êtes 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 (requis si la valeur de merge_relations est conditionnelle). Requête codée pour spécifier si toutes les relations des CI en double sont fusionnées ou aucune. La requête est évaluée sur le CI principal sélectionné pour la tâche de déduplication. Si la requête renvoie true, toutes les relations sont fusionnées. Si la valeur est false, 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êtes codées . |
| template.merge_related_items | Chaîne | Facultatif. Spécifie les tables connexes des CI en double dans une tâche de déduplication qui 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 connexe. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur true, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur false, les entrées connexes ne sont pas fusionnées.Pour plus d’informations, consultez Chaînes de requêtes 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 du CI avec les éléments les plus associés 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 vers le CI principal. |
| template.oldest_created_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus ancien vers le CI principal. |
| table.modèle | 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 à partir de 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êtes 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 de 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 | L’objet de modèle avec différentes options pour la création du 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 dans le cadre 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 des CI en double si la valeur CI principale 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 la façon dont les valeurs de 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 que le champ de référence affiche. 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 d’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 les tables connexes des CI en double dans une tâche de déduplication qui 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 connexe. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur true, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur false, les entrées connexes ne sont pas fusionnées. Pour plus d’informations, consultez Chaînes de requêtes 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 du CI avec les éléments les plus associés 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 vers 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 vers 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 tâche de 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 à une utilisation 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 à partir de 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êtes 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 façon dont elles doivent être corrigées.
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 une 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 la façon dont les valeurs de 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 que le champ de référence affiche. 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 d’un champ de référence. Type de données : chaîne |
| <Object>.masterCI | Sys_id du CI 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 les tables connexes des CI en double dans une tâche de déduplication qui 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 des éléments à fusionner des doublons de CI vers le CI principal.Type de données : tableau |
| <Object>.resolvedFieldCIMap.Élément | Nom de l’élément à fusionner 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 vers 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>.tooManyDuplicates | Marqueur indiquant si la tâche a 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 la publication d’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 les 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 façon 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. Cet ID de résolution de fusion est le sys_id d’un enregistrement dans la table Correction de CI en double [cmdb_duplicate_ci_remediation]. En cas d’échec, le modèle peut ne pas être à 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 elle est à 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 passe pas à Annulé tant que toutes les tâches en cours d’exécution ne sont pas terminées. À ce stade, toutes les tâches restantes préparées pour le rattrapage passent de l’état Annulation demandée à l’état Annulé.
| Nom | Type | Description |
|---|---|---|
| templateRunId (en anglais seulement) | Chaîne | Sys_id de l’exécution de modèle répertoriée 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 réussi. Valeurs valides :
|
L’exemple suivant montre comment annuler l’exécution d’un modèle et afficher si l’opération a réussi.
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 mettre un modèle à l’état Mettre 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 en planifier qu’une seule à la fois.
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 publishTemplate() pour déplacer 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 à 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 s’il est planifié pour être exécuté.
| 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 bien été annulée. 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 | L’objet de modèle avec différentes options pour la création du 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 dans le cadre 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 des CI en double si la valeur CI principale est nulle. Marqueur indiquant s’il faut inclure uniquement les mises à jour des CI en double si la valeur CI principale est nulle. Valeurs valides :
Valeur par défaut : false |
| description.modèle | 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 la façon dont les valeurs de CI en double sont mises à jour. |
| template.duplicate_ci_updates.element | Chaîne | Nom du dictionnaire système d’un champ de référence. |
| template.duplicate_ci_updates.element_label | Chaîne | Étiquette que le champ de référence affiche. |
| template.duplicate_ci_updates.value | 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 d’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 (requis si la valeur de master_ci_option est conditionnelle). Requête codée pour spécifier le mode de sélection du CI principal. 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êtes 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 (requis si la valeur de merge_relations est conditionnelle). Requête codée pour spécifier si toutes les relations des CI en double sont fusionnées ou aucune. La requête est évaluée sur le CI principal sélectionné pour la tâche de déduplication. Si la requête renvoie true, toutes les relations sont fusionnées. Si la valeur est false, 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êtes codées . |
| template.merge_related_items | Chaîne | Facultatif. Spécifie les tables connexes des CI en double dans une tâche de déduplication qui 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 connexe. Chaque requête est évaluée sur le CI principal sélectionné pour la tâche. Si la requête renvoie la valeur true, les entrées connexes sont fusionnées lors du rattrapage d’une tâche de déduplication. Si la valeur est définie sur false, les entrées connexes ne sont pas fusionnées.Pour plus d’informations, consultez Chaînes de requêtes 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 du CI avec les éléments les plus associés 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 vers le CI principal. |
| template.oldest_created_merge_attributes | Chaîne | Facultatif. Attributs séparés par des virgules à fusionner du CI le plus ancien vers le CI principal. |
| table.modèle | 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 à partir de 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êtes 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