DuplicateTemplate : dans le champ d’application

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 27 minutes de lecture
  • 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
    1. 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 :
    2. 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.
    3. Facultatif. Utilisez l’include de script CMDBDuplicateTemplateUtil pour ajouter ou supprimer des tâches.
    4. 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( ).

    5. Si le modèle n’est plus nécessaire, vous pouvez le mettre hors service à l’aide de la méthode retireTemplate( ).
    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.
    1. Utilisez la méthode previewTemplate() pour prévisualiser le rattrapage d’une tâche unique avec un modèle.
    2. 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.

    Tableau 1. Paramètres
    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].
    Tableau 2. Renvoie
    Type Description
    Objet Objet de résultat contenant les tâches qui peuvent être ajoutées, ignorées ou ayant échoué.
    {
      "success": [
        "<task_id_1>",
        "<task_id_2>",
        "<task_id_3>"
      ],
      "failed": [
        "<task_id_4>"
      ],
      "skipped": [
        "<task_id_5>"
      ]
    }
    é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.

    Tableau 3. Paramètres
    Nom Type Description
    modèle Objet Objet de modèle avec différentes options pour créer le modèle.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    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 :
    • vrai : les attributs de CI principaux sont mis à jour avec des valeurs nulles provenant de CI en double.
    • faux : les attributs de CI principaux ne sont pas mis à jour avec des valeurs null provenant de CI en double.

    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 :
    • vrai : inclure uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle.
    • faux : inclure les mises à jour de tous les CI en double.

    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 :
    • supprimer
    • Mettre à jour (nécessite de spécifier duplicate_ci_updates)
    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.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    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 :
    • Conditionnel (doit spécifier master_ci_condition)
    • most_related_items : attributs à fusionner à partir du CI avec le plus d’éléments connexes au CI principal.
    • most_relations : attributs à fusionner à partir du CI ayant le plus de relations avec le CI principal.
    • newest_created : attributs séparés à fusionner du CI le plus récemment mis à jour dans le CI principal.
    • oldest_created : attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal.
    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 :
    • tous
    • conditionnel
    • Aucun
    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 :
    • tous
    • conditionnel
    • Aucun
    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 :
    • all_available : inclut les tables liées par défaut et toutes les tables connexes qui font référence à des CI en double pour la tâche de déduplication corrigée via le modèle.
    • conditionnel
    • par défaut : inclut les entrées connexes fournies par le module Éléments associés par défaut du correcteur de CI en double.
    • Aucun
    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.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    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 .

    Tableau 4. Renvoie
    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.

    Tableau 5. Paramètres
    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].
    Tableau 6. Renvoie
    Type Description
    Objet Objet de modèle avec différentes options pour créer le modèle.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    <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 :
    • vrai : les attributs de CI principaux sont mis à jour avec des valeurs nulles provenant de CI en double.
    • faux : les attributs de CI principaux ne sont pas mis à jour avec des valeurs null provenant de CI en double.

    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 :
    • vrai : inclure uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle.
    • faux : inclure les mises à jour de tous les CI en double.

    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 :
    • supprimer
    • Mettre à jour (nécessite de spécifier duplicate_ci_updates)

    Type de données : chaîne

    <Object>.duplicate_ ci_updates Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    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 :
    • Conditionnel (doit spécifier master_ci_condition)
    • most_related_items : attributs à fusionner à partir du CI avec le plus d’éléments connexes au CI principal.
    • most_relations : attributs à fusionner à partir du CI ayant le plus de relations avec le CI principal.
    • newest_created : attributs séparés à fusionner du CI le plus récemment mis à jour dans le CI principal.
    • oldest_created : attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal.

    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 :
    • tous
    • conditionnel
    • Aucun

    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 :
    • all_available : inclut les tables liées par défaut et toutes les tables connexes qui font référence à des CI en double pour la tâche de déduplication corrigée via le modèle.
    • conditionnel
    • par défaut : inclut les entrées connexes fournies par le module Éléments associés par défaut du correcteur de CI en double.
    • Aucun

    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.

    Les attributs suivants sont requis :
    • duplicate_ci_action
    • master_ci_option
    • merge_related_items
    • merge_relations
    • nom
    • table
    Remarque :
    Bien que cette méthode valide tous les attributs, il n’est pas nécessaire que le modèle soit à l’état Publié pour un aperçu.

    Utilisez la méthode remediateTask() pour corriger les tâches de déduplication.

    Tableau 7. Paramètres
    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].
    Tableau 8. Renvoie
    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.
    {
      "allClassCIMap": {Object},
      "duplicateCIAction": "String",
      "duplicateCIUpdates": [Array],
      "masterCI": "String",
      "mergeRelations": Boolean,
      "relatedTablesMerged": [Array],  
      "resolvedFieldCIMap": [Array],
      "taskId": "String",
      "tooManyDuplicates": Boolean
    }
    <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.
    "allClassCIMap": {
      "<ci_class_name>": [
        "<ci_sys_id_1>",
        "<ci_sys_id_2>"
      ]
    }

    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 :
    • supprimer
    • Mettre à jour (nécessite de spécifier duplicate_ci_updates)

    Type de données : chaîne

    <Object>.duplicateCIUpdates Tableau d’objets spécifiant comment les valeurs CI en double sont mises à jour.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    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 :
    • tous
    • conditionnel
    • Aucun

    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 :
    • all_available : inclut les tables liées par défaut et toutes les tables connexes qui font référence à des CI en double pour la tâche de déduplication corrigée via le modèle.
    • conditionnel
    • par défaut : inclut les entrées connexes fournies par le module Éléments associés par défaut du correcteur de CI en double.
    • Aucun

    Type de données : tableau

    <Object>.resolvedFieldCIMap Tableau d’éléments à fusionner à partir des CI en double dans le CI principal.
    "resolvedFieldCIMap": [
      {
        "element": "String",
        "sys_id": "String"
      }
    ]

    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 :
    • vrai : le nombre de tâches des CI dépasse le nombre maximal de CI.
    • faux : le nombre de tâches des CI ne dépasse pas le nombre maximal de CI.

    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.

    Les attributs suivants sont requis :
    • 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( ).

    Tableau 9. Paramètres
    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].
    Tableau 10. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le modèle a été publié.

    Valeurs valides :
    • vrai : le modèle a été publié.
    • faux : le modèle n’a pas été publié.

    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.

    Tableau 11. Paramètres
    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].
    Tableau 12. Renvoie
    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.

    Tableau 13. Paramètres
    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].
    Tableau 14. Renvoie
    Type Description
    Chaîne

    Marqueur indiquant si la demande d’annulation a abouti.

    Valeurs valides :
    • vrai : la demande d’annulation a réussi.
    • faux : la demande d’annulation n’a pas abouti.

    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 ne peut pas être mis hors service et la méthode lève une exception dans les conditions suivantes :
    • Le modèle est à l’état Publié.
    • Le modèle est en cours d’exécution ou doit s’exécuter.
    Tableau 15. Paramètres
    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].
    Tableau 16. Renvoie
    Type Description
    Booléen Marqueur indiquant si le modèle est mis hors service.
    Valeurs valides :
    • vrai : le modèle est mis hors service.
    • faux : le modèle n’a pas pu être mis hors service, car il était en cours d’exécution, planifié ou publié.

    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( ).

    Tableau 17. Paramètres
    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].
    Tableau 18. Renvoie
    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.

    Tableau 19. Paramètres
    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].
    Tableau 20. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la publication du modèle a été annulée avec succès.

    Valeurs valides :
    • vrai : la publication du modèle a été annulée avec succès.
    • faux : la publication du modèle n’a pas réussi à être annulée. Le modèle est peut-être en cours d’exécution ou doit être exécuté.

    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.

    Tableau 21. Paramètres
    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.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    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 :
    • vrai : les attributs de CI principaux sont mis à jour avec des valeurs nulles provenant de CI en double.
    • faux : les attributs de CI principaux ne sont pas mis à jour avec des valeurs null provenant de CI en double.

    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 :
    • vrai : inclure uniquement les mises à jour à partir de CI en double si la valeur principale du CI est nulle.
    • faux : inclure les mises à jour de tous les CI en double.

    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 :
    • supprimer
    • Mettre à jour (nécessite de spécifier duplicate_ci_updates)
    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.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    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 :
    • Conditionnel (doit spécifier master_ci_condition)
    • most_related_items : attributs à fusionner à partir du CI avec le plus d’éléments connexes au CI principal.
    • most_relations : attributs à fusionner à partir du CI ayant le plus de relations avec le CI principal.
    • newest_created : attributs séparés à fusionner du CI le plus récemment mis à jour dans le CI principal.
    • oldest_created : attributs séparés par des virgules à fusionner du CI le plus ancien dans le CI principal.
    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 :
    • tous
    • conditionnel
    • Aucun
    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 :
    • tous
    • conditionnel
    • Aucun
    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 :
    • all_available : inclut les tables liées par défaut et toutes les tables connexes qui font référence à des CI en double pour la tâche de déduplication corrigée via le modèle.
    • conditionnel
    • par défaut : inclut les entrées connexes fournies par le module Éléments associés par défaut du correcteur de CI en double.
    • Aucun
    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.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    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 .

    Tableau 22. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si le modèle a été mis à jour.

    Valeurs valides :
    • vrai : le modèle a été mis à jour.
    • false : le modèle a été mis à jour. Le modèle n’est peut-être pas à l’état de brouillon (non publié).

    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