IdentificationEngine : inclus dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 77 minutes de lecture
  • L’API IdentificationEngine utilise le cadre de travail Identification et rapprochement pour minimiser la création d’éléments de configuration (CI) en double et pour rapprocher les attributs de CI en acceptant uniquement des informations provenant de sources de données autorisées lors de la mise à jour du Base de données de gestion des configurations (CMDB)fichier .

    Lors de l’utilisation de cette classe dans une application incluse dans le périmètre, utilisez l’identificateur d’espace de noms sn_cmdb.

    IdentificationEngine : createOrUpdateCI (source de la chaîne, entrée de la chaîne)

    Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le basé sur des CMDB règles d’identification et de rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB .

    Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.

    Tableau 1. Paramètres
    Nom Type Description
    entrée Chaîne Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    éléments input.items Tableau d'objets Éléments à ajouter ou à mettre à jour.
    "items": [
      { 
        "className": "String",
        "display_values": {Object},
        "internal_id": "String",
        "lookup": [Array],
        "related": [Array],
        "settings": {Object},
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server.

    input.items.display_values Objet Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre.

    Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que :

    "display_values": {
      "model_id": "String",
      "location": "String"
    }
    input.items.internal_id Chaîne Identificateur d’élément unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    Entrée.Éléments.Recherche Tableau d'objets Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci.

    Par exemple :

    "lookup": [
      {
        "className": "String",
        "internal_id": "String",
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.lookup.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter.

    input.items.lookup.internal_id Chaîne Identificateur d’élément unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    input.items.lookup.sys_object_source_info Objet Identificateur CI unique pour une source spécifique.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.lookup.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.lookup.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.lookup.sys_object_source_info.source_native_key Chaîne Clé/ID unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.lookup.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.lookup.values Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    Entrée.Éléments.Associés Tableau Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent quel type d’enregistrements peut se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification.

    La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration.

    "related" [
      {
        "className": "String",
        "internal_id": "String",
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.related.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value.

    input.items.related.internal_id Chaîne Identificateur d’élément unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    input.items.related.sys_object_source_info Objet Identificateur CI unique pour une source spécifique.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.related.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.related.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.related.sys_object_source_info.source_native_key Chaîne Clé/ID unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.related.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.related.values Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    Entrée.Éléments.Paramètres Objet Paramètres qui définissent les types de mises à jour autorisés.
    "settings": { 
      "skipReclassificationRestrictionRules": Boolean, 
      "updateWithoutDowngrade": Boolean, 
      "updateWithoutSwitch": Boolean,
      "updateWithoutUpgrade": Boolean
    }
    input.items.settings.skipReclassificationRestrictionRules Booléen Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile.
    Valeurs valides :
    • true : ignorer l’exécution de la règle.
    • false : exécuter la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • faux : la mise à jour et le passage à une version antérieure de l’élément sont autorisés.

    Valeur par défaut : false

    input.items.settings.updateWithoutUpgrade Booléen Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • faux : la mise à jour et la mise à niveau d’éléments sont autorisées.

    Valeur par défaut : false

    input.items.settings.updateWithoutSwitch Booléen Marqueur indiquant si l’élément peut être mis à jour et la classe changée.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’élément et le changement de classe sont autorisés.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique pour une source spécifique.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.sys_object_source_info.source_native_key Chaîne Clé/ID unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    Éléments.Valeurs Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    input.referenceItems Tableau d'objets Liste qui définit les références entre les éléments de la charge utile entrée.
    "referenceItems": [
      { 
        "referenced": "String", 
        "referencedBy": "String", 
        "referenceField": "String" 
      }
    ]
    input.referenceItems.referenced Chaîne Défini internal_id pour l’élément référencé par un autre élément.
    input.referenceItems.referencedBy Chaîne Défini internal_id pour l’élément qui fait référence à un autre élément.
    input.referenceItems.referenceField Chaîne Nom du champ de référence dans la classe/la table de l’élément referencedBy .
    relations.entrées Tableau d'objets Liste qui spécifie les relations entre les éléments de la charge utile entrée.
    Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parentchild de paires nom-valeur, les valeurs représentant les index d’élément du tableau de charge items utile.
      "relations": [
        {
          "child": Number,
          "parent": Number,
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    • L’objet peut définir une relation entre deux éléments quelconques, y compris des éléments de niveau supérieur, connexes ou de recherche, à l’aide parent_id de child_id paires clé/valeur, les valeurs représentant internal_id les valeurs définies pour ces éléments.
      "relations": [
        {
          "child_id": "String",
          "parent_id": "String",
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    entrée.relations.enfant Numéro Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup).
    input.relations.child_id Chaîne De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.)
    Entrée.Relations.Parent Numéro Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.)
    input.relations.parent_id Chaîne De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.)
    input.relations.sys_rel_source_info Objet Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .)

    Type de données : objet

    "sys_rel_source_info": { 
      "source_name": "String", 
      "source_feed": "String" 
    } 
    input.relations.sys_rel_source_info.source_name Chaîne Nom de la source de découverte.

    Par défaut : source de détection transmise dans le paramètre de méthode d’API.

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte.

    Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table.

    type.relations.entrée Chaîne Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type].
    source Chaîne Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table cmdb_ci.
    Tableau 2. Renvoie
    Type Description
    <chaîne> Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems Aucune valeur n’est actuellement renvoyée.
    <chaîne>.additionalCommittedRelations Aucune valeur n’est actuellement renvoyée.
    <chaîne>.items Description des CI créés ou mis à jour.

    Type de données : objet

    "items": { 
      "additionalRelatedItems": [Array],
      "className": "String",
      "duplicateIndices": [Array],
      "errorCount": Number,
      "errors": [Array],
      "identificationAttempts": [Array],
      "identifierEntrySysId": "String",
      "info": [Array],
      "inputIndices": [Array],
      "maskedAttributes": [Array],
      "operation": "String",
      "relatedItems": [Array],
      "relatedSysIds": [Array],
      "sysId": "String"
    }
    <chaîne>.éléments.additionalRelatedItems Liste des informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles.

    Ces informations ne sont pas renvoyées actuellement.

    Type de données : tableau d’objets

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <chaîne>.éléments.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.inputIndices Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres ou tableau d’objets

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <chaîne>.items.additionalRelatedItems.inputIndices.mainIndex Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire.

    Type de données : nombre

    <chaîne>.items.additionalRelatedItems.inputIndices.subIndex Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe supplémentaire.

    Type de données : nombre

    <chaîne>.éléments.additionalRelatedItems.operation Type d’opération.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • NO_CHANGE : Aucun changement de CI n’a été apporté.
    • MISE À JOUR : le CI existant a été mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.sysId Sys_id des éléments connexes supplémentaires.

    Type de données : chaîne

    <chaîne>.items.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <chaîne>.éléments.errorCount Nombre d’erreurs.

    Type de données : nombre

    <chaîne>.éléments.erreurs Liste des erreurs rencontrées lors du traitement de ce CI.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.errors.error Type d’erreur survenue lors du traitement du CI.

    Type de données : chaîne

    <chaîne>.éléments.errors.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <chaîne>.items.identificationAttempts Liste des tentatives d’identification des CI.

    Type de données : tableau d’objets

    "identificationAttempts": [
      { 
        "attemptResult": "String", 
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identifierName": "String",
        "searchOnTable": "String" 
      }
    ]
    <chaîne>.items.identificationAttempts.AttemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANT : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspondait exactement aux attributs spécifiés.
    • MULTI_MATCH : échec de l’identification avec une erreur. Des CI en double ont été trouvés dans la table de règles d’identificateurs lors de la mise en correspondance avec les attributs spécifiés.
    • NO_MATCH : échec de l’identification. Aucun CI correspondant aux attributs spécifiés n’a été trouvé dans la table de règles d’identificateurs.
    • IGNORÉ : aucune tentative d’identification. Les attributs requis pour cette recherche dans la table de règles d’identificateurs n’ont pas été fournis, par conséquent la règle n’a pas été appliquée.

    Type de données : chaîne

    <chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>.items.identificationAttempts.hybridEntryCiAttributes Aucune valeur n’est actuellement renvoyée.
    <chaîne>.éléments.identificationTentatives.identifierName Règle d’identificateur utilisée pour cette tentative d’identification de CI.

    Type de données : chaîne

    <String>.items.identificationAttempts.searchOnTable Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification.

    Type de données : chaîne

    <String>.items.identifierEntrySysId Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry].

    Type de données : chaîne

    <chaîne>.items.info Liste contenant des informations supplémentaires sur le traitement de l’élément.

    Type de données : tableau d’objets

    "info": [
      {
        "code": "String",
        "message": "String",
        "ruleSysId": "String"
      }
    ]
    <chaîne>.items.info.code Type de reclassification qui a été ignoré.
    Valeurs possibles :
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_UPGRADE

    Type de données : chaîne

    <chaîne>.items.info.message Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification.

    Type de données : chaîne

    <chaîne>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global.

    Type de données : chaîne

    <chaîne>.items.inputIndices Valeurs d’index des CI provenant du tableau du corps items de la demande qui correspondent à ce CI.

    Type de données : tableau

    <chaîne>.éléments.maskedAttributes Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement.

    Type de données : tableau

    <chaîne>.éléments.élémentsconnexes Liste fournissant des informations sur les éléments connexes traités.

    Type de données : tableau d’objets

    "relatedItems": [
      { 
        "className": "String",
        "errors": [Array],
        "errorCount": Number, 
        "inputIndices": [Array],
        "operation": "String",
        "sysId": "String"
      }
    ]
    <Chaîne>.éléments.élémentsconnexes.nomdeclasse Nom de classe/table (sys_class_name) de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.erreurs Liste des erreurs qui se sont produites pendant le traitement.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.élémentsconnexes.errorCount Nombre d’erreurs détectées pendant le traitement.

    Type de données : nombre

    <chaîne>.items.relatedItems.inputIndices Index des éléments connexes correspondants.

    Type de données : tableau ou nombres

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <chaîne>.items.relatedItems.inputIndices.mainIndex Valeur entière du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.inputIndices.subIndex Valeur entière du tableau du corps items.lookup de la demande qui correspond à l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.operation Type d’opération.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • NO_CHANGE : Aucun changement de CI n’a été apporté.
    • MISE À JOUR : le CI existant a été mis à jour.

    Type de données : chaîne

    <chaîne>.items.relatedSysIds Liste des valeurs sys_id pour les éléments connexes (éléments de recherche de table) à partir du tableau du corps items.lookup de la demande.

    Valeurs notables : nul : aucune sys_id n’a été identifiée pour cet élément connexe.

    Type de données : tableau

    <chaîne>.items.sys_id Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <chaîne>.relations Informations sur les relations traitées.

    Type de données : tableau d’objets

    "relations":[
      { 
        "className": "String",
        "errorCount": Number,
        "inputIndices": [Array],
        "operation": "String",
        "sysId": "String" 
      }
    ]
    <chaîne>.relations.nomdeclasse Sys_class_name de ce CI de relation dépendante.

    Seule valeur prise en charge : cmdb_rel_ci : table de relations CI.

    Type de données : chaîne

    <chaîne>.relations.errorCount Nombre d’erreurs.

    Type de données : nombre

    <chaîne>.relations.inputIndices Index des relations d’entrée correspondantes.

    Type de données : tableau

    <chaîne>.relations.opération Type d’opération effectuée.

    Valeurs possibles :

    • INSÉRER
    • METTRE À JOUR
    • NO_CHANGE

    Type de données : chaîne

    <chaîne>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

    L’élément suivant montre comment reclassifier un élément de configuration.

    var payload = {
      "items": [
        {
          "className": "cmdb_ci_win_server",
          "values": {
            "short_description": "Linux server description",
            "name": "Linux Server 1"
          }
        }
      ]
    };
    
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_linux_server",
          "operation": "NO_CHANGE",
          "sysId": "440577800f321010150efc91ff767e94",
          "identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
          "identificationAttempts": [
            {
              "attributes": [],
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "name"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "MATCHED",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            }
          ],
          "info": [
            {
              "message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
              "code": "SKIPPED_CLASS_SWITCH",
              "ruleSysId": "b3d4b3800f321010150efc91ff767eab"
            }
          ],
          "errorCount": 0,
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ],
          "mergedPayloadIds": []
        }
      ],
      "additionalCommittedItems": [],
      "relations": [],
      "additionalCommittedRelations": []
    }

    L’élément suivant montre comment mettre à jour un élément de configuration.

    var payload = {
    "items": [
    {
     "className": "cmdb_ci_win_server", 
     "values": {
       "chassis_type": "Desktop",
       "os": "Windows 2012 R2 Datacenter",
       "name": "Windows2012Server1",
       "serial_number": "0000-0011-1690-8730-8636-5722-52",
       "cpu_count": "1"
      },
      "lookup": [
      {
         "values": {
           "valid": "true",
           "serial_number": "0000-0011-1690-8730-8636-5722-52",
           "serial_number_type": "bios"
          },
         "className": "cmdb_serial_number"
       },
       {
         "values": {
           "valid": "true",
           "serial_number": "3311-9736-4988-9744-1749-4183-41",
           "serial_number_type": "chassis"
          },
         "className": "cmdb_serial_number"
       }],
    
        "internal_id": "16777219",
        "sys_object_source_info": {
          "source_feed": "SN Discovery Feed 1",
          "source_name": "ServiceNow",
          "source_native_key": "16777219",
          "source_recency_timestamp": "2019-10-18 08:31:23"
       }},
       {  
       "className": "cmdb_ci_spkg",
       "values": {
         "name": "Windows 2012 R2 Datacenter",
         "key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
         },
    
      "related": [
        {
          "internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
          "values": {
            "name": "Windows 2012 R2 Datacenter-SAMLABVM52"
          },
          "className": "cmdb_software_instance",
          "sys_object_source_info": {
            "source_feed": "SN Discovery Feed 1",
            "source_name": "ServiceNow",
            "source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }}]}, 
      {
      "className": "cmdb_ci_app_server_tomcat",
      "values": {
        "running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
        "install_directory": "/opt/OV/nonOV/tomcat/b",
        "name": "Tomcat@hpom9:3443",
        "server_port": "8006",
        "sys_class_name": "cmdb_ci_app_server_tomcat"
      },
    
      "internal_id": "tomcat_id"
      }],
    
    "relations": [
      {
        "parent_id": "tomcat_id",
        "child_id": "16777219",
        "type": "Runs on::Runs"
      }],
    
    "referenceItems": [
      {
        "referenceField": "installed_on",
        "referenced": "16777219",
        "referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }]};
    
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_win_server",
          "operation": "INSERT",
          "sysId": "d56ab6eadbd510102f67dfea5e96194e",
          "relatedSysIds": [
            "dd6af62adb1910102f67dfea5e96197f",
            "996af62adb1910102f67dfea5e961980"
          ],
          "relatedItems": [
            {
              "errors": [],
              "operation": "INSERT",
              "errorCount": 0,
              "mergedPayloadIds": [],
              "warningCount": 0,
              "sysId": "dd6af62adb1910102f67dfea5e96197f",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 0
                }
              ],
              "className": "cmdb_serial_number"
            },
            {
              "errors": [],
              "operation": "INSERT",
              "errorCount": 0,
              "mergedPayloadIds": [],
              "warningCount": 0,
              "sysId": "996af62adb1910102f67dfea5e961980",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 1
                }
              ],
              "className": "cmdb_serial_number"
            }
          ],
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source NO_MATCH",
              "identifierName": "",
              "attemptResult": "NO_MATCH",
              "attributes": [],
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "serial_number"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "name"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "mac_address",
                "name"
              ],
              "searchOnTable": "cmdb_ci_network_adapter",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ]
        },
        {
          "className": "cmdb_ci_spkg",
          "operation": "INSERT",
          "sysId": "116af62adb1910102f67dfea5e961981",
          "relatedSysIds": [
            "6d6af62adb1910102f67dfea5e961984"
          ],
          "relatedItems": [
            {
              "errors": [],
              "operation": "INSERT",
              "errorCount": 0,
              "mergedPayloadIds": [],
              "warningCount": 0,
              "sysId": "6d6af62adb1910102f67dfea5e961984",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 1,
                  "subIndex": 0
                }
              ],
              "className": "cmdb_software_instance"
            }
          ],
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Software",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "key"
              ],
              "searchOnTable": "cmdb_ci_spkg",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            1
          ]
        },
        {
          "className": "cmdb_ci_app_server_tomcat",
          "operation": "INSERT",
          "sysId": "e96af62adb1910102f67dfea5e961985",
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            2
          ]
        }
      ],
      "additionalCommittedItems": [],
      "relations": [
        {
          "className": "cmdb_rel_ci",
          "operation": "INSERT",
          "sysId": "e96af62adb1910102f67dfea5e961989",
          "identifierEntrySysId": "Unknown",
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ]
        }
      ],
      "additionalCommittedRelations": []
    }

    Identifiez un CI dépendant.

    var payload = 
                  {items: [ 
                        {className:'cmdb_ci_web_server', 
                         values: {name:'apache linux den 200', 
                                  running_process_command: 'xyz',  
                                  running_process_key_parameters: 'abc', 
                                  tcp_port:'3452'}}, 
                        {className:'cmdb_ci_linux_server', 
                         values: {name:'lnux100', ram:'2048'}}],
                   relations:[{parent: 0, child: 1, type: 'Runs on::Runs'}]
                  };
    
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_web_server",
          "operation": "INSERT",
          "sysId": "b9bb766adb1910102f67dfea5e961962",
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            },
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ]
        },
        {
          "className": "cmdb_ci_linux_server",
          "operation": "INSERT",
          "sysId": "a5bb766adb1910102f67dfea5e96195b",
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "serial_number"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "name"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "mac_address",
                "name"
              ],
              "searchOnTable": "cmdb_ci_network_adapter",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            1
          ]
        }
      ],
      "additionalCommittedItems": [],
      "relations": [
        {
          "className": "cmdb_rel_ci",
          "operation": "INSERT",
          "sysId": "fdbb766adb1910102f67dfea5e961964",
          "identifierEntrySysId": "Unknown",
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ]
        }
      ],
      "additionalCommittedRelations": []
    }

    Identifiez un CI indépendant avec l’identification basée sur la recherche.

    var payload = {items: [
               {className:'cmdb_ci_netgear', 
                   values: {name:'ny8500-nbxs08',
                            ports:'1200'}, 
                   lookup: [{className:'cmdb_serial_number',
                                values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
                            {className:'cmdb_serial_number',
                                values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
    
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_netgear",
          "operation": "INSERT",
          "sysId": "787c7e6adb1910102f67dfea5e96196e",
          "relatedSysIds": [
            "f47c7e6adb1910102f67dfea5e961977",
            "3c7c7e6adb1910102f67dfea5e961977"
          ],
          "relatedItems": [
            {
              "errors": [],
              "operation": "INSERT",
              "errorCount": 0,
              "mergedPayloadIds": [],
              "warningCount": 0,
              "sysId": "f47c7e6adb1910102f67dfea5e961977",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 0
                }
              ],
              "className": "cmdb_serial_number"
            },
            {
              "errors": [],
              "operation": "INSERT",
              "errorCount": 0,
              "mergedPayloadIds": [],
              "warningCount": 0,
              "sysId": "3c7c7e6adb1910102f67dfea5e961977",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 1
                }
              ],
              "className": "cmdb_serial_number"
            }
          ],
          "identifierEntrySysId": "Unknown",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [],
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "serial_number"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "attributes": [
                "name"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "attributes": [
                "mac_address",
                "name"
              ],
              "searchOnTable": "cmdb_ci_network_adapter",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "mergedPayloadIds": [],
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ]
        }
      ],
      "additionalCommittedItems": [],
      "relations": [],
      "additionalCommittedRelations": []
    }

    IdentificationEngine : createOrUpdateCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)

    Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le basé sur des CMDB règles d’identification et de rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB .

    En plus de fournir la fonctionnalité de la méthode createOrUpdateCI(), cette méthode prend également en charge :
    • Gestion des charges utiles partielles
    • Gestion des validations partielles
    • Suppression des éléments en double dans une charge utile
    • Génération de résumés de sortie
    Pour de plus amples renseignements sur l’IRE et des explications plus détaillées sur les données utilisées par cette méthode, voir Identification et rapprochement (IRE).

    Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.

    Tableau 3. Paramètres
    Nom Type Description
    entrée Chaîne Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    éléments input.items Tableau d'objets Éléments à ajouter ou à mettre à jour.
    "items": [
      { 
        "className": "String",
        "display_values": {Object},
        "internal_id": "String",
        "lookup": [Array],
        "related": [Array],
        "settings": {Object},
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server.

    input.items.display_values Objet Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre.

    Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que :

    "display_values": {
      "model_id": "String",
      "location": "String"
    }
    input.items.internal_id Chaîne Identificateur d’élément unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    Entrée.Éléments.Recherche Tableau d'objets Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci.

    Par exemple :

    "lookup": [
      {
        "className": "String",
        "internal_id": "String",
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.lookup.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter.

    input.items.lookup.internal_id Chaîne Identificateur d’élément de recherche unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    input.items.lookup.sys_object_source_info Objet Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.lookup.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.lookup.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.lookup.sys_object_source_info.source_native_key Chaîne ID de clé unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.lookup.sys_object_source_info.source_recency_timestamp Chaîne Date/heure UTC de numérisation de l’élément.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.lookup.values Objet Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée.

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "serial_number": "String",
      "serial_number_type": "String",
      "valid": "String",
      "ip_address": "String",
      "mac_address": "String"
    }
    input.items.related.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value.

    input.items.related.internal_id Chaîne Identificateur unique de cet élément connexe dans cette charge utile. Peut avoir n’importe quelle valeur, mais doit être unique dans la charge utile.
    input.items.related.sys_object_source_info Objet Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.related.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.related.sys_object_source_info.source_name Chaîne Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.related.sys_object_source_info.source_native_key Chaîne Clé/ID unique de la source pour l’élément connexe.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.related.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.related.values Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    Entrée.Éléments.Paramètres Objet Paramètres qui définissent les types de mises à jour autorisés.
    "settings": { 
      "skipReclassificationRestrictionRules": Boolean, 
      "updateWithoutDowngrade": Boolean, 
      "updateWithoutSwitch": Boolean,
      "updateWithoutUpgrade": Boolean
    }
    input.items.settings.skipReclassificationRestrictionRules Booléen Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile.
    Valeurs valides :
    • true : ignorer l’exécution de la règle.
    • false : exécuter la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • faux : la mise à jour et le passage à une version antérieure de l’élément sont autorisés.

    Valeur par défaut : false

    input.items.settings.updateWithoutSwitch Booléen Marqueur indiquant si l’élément peut être mis à jour et la classe changée.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’élément et le changement de classe sont autorisés.

    Valeur par défaut : false

    input.items.settings.updateWithoutUpgrade Booléen Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • faux : la mise à jour et la mise à niveau d’éléments sont autorisées.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique pour une source spécifique.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.sys_object_source_info.source_native_key Chaîne Clé/ID unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    Éléments.Valeurs Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    input.referenceItems Tableau d'objets Liste qui définit les références entre les éléments de la charge utile entrée.
    "referenceItems": [
      { 
        "referenced": "String", 
        "referencedBy": "String", 
        "referenceField": "String" 
      }
    ]
    input.referenceItems.referenced Chaîne Défini internal_id pour l’élément référencé par un autre élément.
    input.referenceItems.referencedBy Chaîne Défini internal_id pour l’élément qui fait référence à un autre élément.
    input.referenceItems.referenceField Chaîne Nom du champ de référence dans la classe/la table de l’élément referencedBy .
    relations.entrées Tableau d'objets Liste qui spécifie les relations entre les éléments de la charge utile entrée.
    Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parentchild de paires nom-valeur, les valeurs représentant les index d’élément du tableau de charge items utile.
      "relations": [
        {
          "child": Number,
          "parent": Number,
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    • L’objet peut définir une relation entre deux éléments quelconques, y compris des éléments de niveau supérieur, connexes ou de recherche, à l’aide parent_id de child_id paires clé/valeur, les valeurs représentant internal_id les valeurs définies pour ces éléments.
      "relations": [
        {
          "child_id": "String",
          "parent_id": "String",
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    entrée.relations.enfant Numéro Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup).
    input.relations.child_id Chaîne De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.)
    Entrée.Relations.Parent Numéro Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.)
    input.relations.parent_id Chaîne De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.)
    input.relations.sys_rel_source_info Objet Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .)

    Type de données : objet

    "sys_rel_source_info": { 
      "source_name": "String", 
      "source_feed": "String" 
    } 
    input.relations.sys_rel_source_info.source_name Chaîne Nom de la source de découverte.

    Par défaut : source de détection transmise dans le paramètre de méthode d’API.

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte.

    Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table.

    type.relations.entrée Chaîne Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type].
    options Objet Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités.
    Remarque :
    Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles.
    "options": { 
     "deduplicate_payloads": Boolean,
     "generate_summary": Boolean, 
     "partial_commits": Boolean, 
     "partial_payloads": Boolean,
     "skip_updating_last_scan_to_now": Boolean,
     "skip_updating_source_last_discovered_to_now": Boolean
    }
    options.deduplicate_payloads Booléen Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs.

    Valeurs valides :

    • true : fusionne les éléments en double.
    • false : considérez les éléments en double comme des erreurs.

    Valeur par défaut : true

    options.generate_summary Booléen Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour connaître les détails des informations récapitulatives renvoyées, consultez <String>.summary le tableau des résultats renvoyés.

    Valeurs valides :

    • true : inclure des informations récapitulatives.
    • false : n’incluez pas d’informations récapitulatives.

    Valeur par défaut : false

    options.partial_commits Booléen Marqueur indiquant si la prise en charge de la validation partielle est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées.

    Valeurs valides :

    • vrai : validation partielle activée.
    • false : validation partielle désactivée.

    Valeur par défaut : true

    options.partial_payloads Booléen Marqueur indiquant si la prise en charge de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE.

    Valeurs valides :

    • true : charge utile partielle activée.
    • false : charge utile partielle désactivée.

    Valeur par défaut : true

    options.skip_updating_last_scan_to_now Booléen Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source.
    Valeurs valides :
    • vrai : si le source_recency_timestamp paramètre n’est pas transmis sys_object_source_info, ne mettez pas à jour le champ d’heure de last_scan de l’sys_object_source.
    • false : mettre à jour le champ d’heure de last_scan de l’sys_object_source.

    Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now.

    options.skip_updating_source_last_discovered_to_now Booléen Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci].
    Valeurs valides :
    • true : si last_discovered n’est pas fournie dans les valeurs de l’élément de charge utile, ne mettez pas à jour les champs discovery_source et last_discovered.
    • faux : mettez à jour les champs discovery_source et last_discovered.

    Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now.

    source Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    Tableau 4. Renvoie
    Paramètre Description
    <chaîne> Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée.

    Type de données : chaîne

    { 
      "additionalCommittedItems": [Array],  
      "additionalCommittedRelations": [Array], 
      "hasError": Boolean, 
      "hasWarning": Boolean,
      "items": [Array],  
      "relations": [Array], 
      "summary": {Object} 
    }
    <chaîne>.additionalCommittedItems Liste des CI qui ont été validés pendant le traitement IRE de la charge utile actuelle, mais qui n’étaient pas présents dans la charge utile d’entrée actuelle.

    Type de données : tableau d’objets

    "additionalCommittedItems": [
      {
        "className": "String",
        "errorCount": Number,
        "operation": "String",
        "identificationAttempts": [Array],
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloads": [Array],
        "sysId": "String"
      }
    ]
    <chaîne>.additionalCommittedItems.className Sys_class_name de ce CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems.errorCount Nombre d’erreurs rencontrées lors du traitement de ce CI supplémentaire.

    Type de données : nombre

    <chaîne>.additionalCommittedItems.errors Tableau d’objets décrivant les erreurs rencontrées lors du traitement de ce CI supplémentaire.

    Type de données : tableau

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.additionalCommittedItems.errors.error Type d’erreur rencontrée lors du traitement du CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems.errors.message Un message d’erreur s’est produit lors du traitement du CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems.identificationAttempts Tableau d’objets dans lequel chaque objet décrit une tentative d’identification de ce CI supplémentaire.
    Type de données : tableau d’objets
    "identificationAttempts": [
      {
        "attemptResult": "String",
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identiferName": "String",
        "searchOnTable": [Array]
      }
    ]
    <chaîne>.additionalCommittedItems.identificationAttempts.attemptResult Résultat de cette tentative d’identification de CI supplémentaire.

    Type de données : chaîne

    Valeurs possibles :
    • CORRESPONDANT : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspondait exactement aux attributs spécifiés.
    • MULTI_MATCH : échec de l’identification avec une erreur. Des CI en double ont été trouvés dans la table de règles d’identificateurs lors de la mise en correspondance avec les attributs spécifiés.
    • NO_MATCH : échec de l’identification. Aucun CI correspondant aux attributs spécifiés n’a été trouvé dans la table de règles d’identificateurs.
    • IGNORÉ : aucune tentative d’identification. Les attributs requis pour cette recherche dans la table de règles d’identificateurs n’ont pas été fournis, par conséquent la règle n’a pas été appliquée.
    <chaîne>.additionalCommittedItems.identificationAttempts.attributes Attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes Tableau des attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "hybridEntryCiAttributes": [
      "name": "String",
      "serial_number": "String"
    ]
    <chaîne>.additionalCommittedItems.identificationAttempts.identifierName Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems.identificationAttempts.searchOnTable Nom de la table recherchée pour cette tentative d’identification de CI supplémentaire.

    Type de données : chaîne

    <String>.additionalCommittedItems.identifierEntrySysId Sys_id de la règle d’identificateur utilisée pour identifier ce CI supplémentaire.

    Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus.

    <chaîne>.additionalCommittedItems.inputIndices Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à ce CI supplémentaire.

    Type de données : tableau de nombres

    "inputIndices": [
      {
        Number
      }
    ]
    <chaîne>.additionalCommittedItems.markers Valeurs de marqueur pour une utilisation interne.

    Type de données : tableau

    "markers": []
    <chaîne>.additionalCommittedItems.mergedPayloads Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles [cmdb_ire_partial_payloads] IRE CMDB qui ont été fusionnées pendant le traitement de ce CI supplémentaire.

    Type de données : tableau

    "mergedPayloadIds": [
      "String"
    ]
    <chaîne>.additionalCommittedItems.operation Opération exécutée pour ce CI supplémentaire.

    Type de données : chaîne

    Valeurs possibles :
    • DELETE : un CI existant est supprimé de la table cible.
    • INSERT : le CI supplémentaire est inséré dans la table cible en tant que nouvel enregistrement.
    • NO_CHANGE : Aucune opération n’est effectuée pour le CI supplémentaire.
    • METTRE À JOUR : un CI existant dans la table cible est mis à jour.
    • UPDATE_WITH_DOWNGRADE : un CI existant dans la table cible est mis à jour et sa classe est remplacée par une classe plus générique (ancienne classe).
    • UPDATE_WITH_SWITCH : un CI existant dans la table cible est mis à jour et sa classe est remplacée par une autre classe qui n’est ni une classe ancêtre ni une classe descendante.
    • UPDATE_WITH_UPGRADE : un CI existant dans la table cible est mis à jour et sa classe est remplacée par une classe plus spécialisée (classe descendante).
    <chaîne>.additionalCommittedItems.sysId Sys_id trouvé pour ce CI supplémentaire via l’identification.

    Type de données : chaîne

    Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus.

    <chaîne>.additionalCommittedItems.warnings Description des avertissements rencontrés lors du traitement de ce CI supplémentaire.

    Type de données : tableau d’objets

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.additionalCommittedItems.warnings.error Type d’avertissement rencontré lors du traitement de ce CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedItems.warnings.message Un message d’avertissement s’est produit lors du traitement de ce CI supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedRelations Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour.

    Type de données : tableau d’objets

    "additionalCommittedRelations": [
      {
        "className": "String",
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloadIds": [Array],
        "operation": "String"
      }
    ]
    <chaîne>.additionalCommittedRelations.className Le sys_class_name de ce CI de relation dépendante supplémentaire.

    Type de données : chaîne

    Seule valeur prise en charge : cmdb_rel_ci : table de relations CI.

    <String>.additionalCommittedRelations.errorCount Nombre d’erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire.

    Type de données : nombre

    <chaîne>.additionalCommittedRelations.errors Description des erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.additionalCommittedRelations.errors.error Type d’erreur rencontrée lors du traitement du CI de relation dépendante supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedRelations.errors.message Un message d’erreur s’est produit pendant le traitement de ce CI de relation dépendante supplémentaire.

    Type de données : chaîne

    <chaîne>.additionalCommittedRelations.inputIndices Valeurs d’index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante supplémentaire.

    Type de données : tableau

    "inputIndices": [
      Number
    ]
    <chaîne>.additionalCommittedRelations.markers Valeurs de marqueur pour une utilisation interne.

    Type de données : tableau

    "markers": []
    <chaîne>.additionalCommittedRelations.mergedPayloadIds Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE de la CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI et qui ont été fusionnées pendant le traitement de ce CI de relation dépendante supplémentaire.

    Type de données : tableau

    "mergedPayloadIds": [
      "String"
    ]
    <chaîne>.additionalCommittedRelations.operation Opération qui a été effectuée pour le CI de relation dépendante supplémentaire.
    Valeurs possibles :
    • INSÉRER : le CI de relation dépendant est inséré dans la table cible en tant que nouvel enregistrement.
    • INSERT_AS_INCOMPLETE : Le CI de relation dépendante a commis des erreurs et est inséré dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.
    • INSERT_AS_PARTIAL : Le CI de relation dépendante a commis des erreurs et est inséré dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.
    • NO_CHANGE : Aucune opération n’est effectuée pour le CI de relation dépendant.
    • METTRE À JOUR : un CI de relation dépendante existant dans la table cible est mis à jour.

    Type de données : chaîne

    <chaîne>.hasError Marqueur indiquant si un élément ou une relation comporte des erreurs.

    Type de données : booléennes

    <chaîne>.hasWarning Marqueur indiquant si un élément ou une relation a des avertissements.

    Type de données : booléennes

    <chaîne>.items Description des CI créés ou mis à jour.

    Type de données : tableau d’objets

    "items": [
      {  
        "additionalRelatedItems": [Array],
        "className": "String",
        "duplicateIndices": [Array],
        "errorCount": Number, 
        "errors": [Array], 
        "identificationAttempts": [Array], 
        "identifierEntrySysId": "String",  
        "incompleteSysIds": "String",
        "info": [Array],
        "inputIndices": [Array], 
        "maskedAttributes": [Array],
        "operation": "String", 
        "partialSysIds": "String", 
        "relatedItems": [Array], 
        "relatedSysIds": [Array], 
        "sysId": "String" 
      }
    ]
    <chaîne>.éléments.additionalRelatedItems Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles.

    Type de données : tableau d’objets

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array],
        "mergedPayloadIds": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <chaîne>.éléments.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.inputIndices Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à cet élément connexe.

    Type de données : tableau de nombres

    <chaîne>.items.additionalRelatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.

    Type de données : tableau

    <chaîne>.éléments.additionalRelatedItems.operation Type d’opération.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • NO_CHANGE : Aucun changement de CI n’a été apporté.
    • MISE À JOUR : le CI existant a été mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.sysId Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <chaîne>.items.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <chaîne>.éléments.errorCount Nombre d’erreurs rencontrées lors du traitement de l’élément.

    Type de données : nombre

    <chaîne>.éléments.erreurs Liste des erreurs rencontrées lors du traitement de ce CI.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.errors.error Type d’erreur survenue lors du traitement du CI.

    Type de données : chaîne

    <chaîne>.éléments.errors.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <chaîne>.items.identificationAttempts Liste des tentatives d’identification des CI.

    Type de données : tableau d’objets

    "identificationAttempts": [
      { 
        "attemptResult": "String", 
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identifierName": "String",
        "searchOnTable": "String" 
      }
    ]
    <chaîne>.items.identificationAttempts.AttemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANT : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspondait exactement aux attributs spécifiés.
    • MULTI_MATCH : échec de l’identification avec une erreur. Des CI en double ont été trouvés dans la table de règles d’identificateurs lors de la mise en correspondance avec les attributs spécifiés.
    • NO_MATCH : échec de l’identification. Aucun CI correspondant aux attributs spécifiés n’a été trouvé dans la table de règles d’identificateurs.
    • IGNORÉ : aucune tentative d’identification. Les attributs requis pour cette recherche dans la table de règles d’identificateurs n’ont pas été fournis, par conséquent la règle n’a pas été appliquée.

    Type de données : chaîne

    <chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <String>items.identificationAttempts.hybridEntryCiAttributes Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "hybridEntryCiAttributes": [
      "name": "String",
      "serial_number": "String"
    ]
    <chaîne>.éléments.identificationTentatives.identifierName Règle d’identificateur utilisée pour cette tentative d’identification de CI.

    Type de données : chaîne

    <String>.items.identificationAttempts.searchOnTable Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification.

    Type de données : chaîne

    <String>.items.identifierEntrySysId Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry].

    Type de données : chaîne

    <chaîne>.items.incompleteSysIds Si l’élément comporte des erreurs et a été enregistré en tant que charge utile incomplète, ce paramètre contient la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.

    Type de données : chaîne

    <String>.items.info Informations supplémentaires sur le traitement de l’élément.

    Type de données : tableau d’objets

    "info": [
      {
        "code": "String",
        "message": "String",
        "ruleSysId": "String"
      }
    ]
    <chaîne>.items.info.code Type de reclassification qui a été ignoré.
    Valeurs possibles :
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_UPGRADE

    Type de données : chaîne

    <chaîne>.items.info.message Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification.

    Type de données : chaîne

    <chaîne>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global.

    Type de données : chaîne

    <chaîne>.items.inputIndices Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres

    <chaîne>.éléments.maskedAttributes Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement.

    Type de données : tableau

    <chaîne>.éléments.opération Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • INSERT_AS_INCOMPLETE : L’élément a été enregistré dans cmdb_ire_incomplete_payloads table.
    • INSERT_AS_PARTIAL : l’élément a été enregistré dans cmdb_ire_partial_payloads table.
    • MISE À JOUR : le CI existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI a été mis à jour et la classe a été remplacée par une classe plus générique (ancienne classe).
    • UPDATE_WITH_SWITCH : le CI a été mis à jour et la classe a été changée en une classe qui n’est ni ancêtre ni descendant.
    • UPDATE_WITH_UPDRADE : Le CI a été mis à jour et la classe est passée à une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <chaîne>.items.partialSysIds Si l’élément comporte des erreurs et a été enregistré en tant que charge utile partielle, ce paramètre contient la sys_id de l’enregistrement de charge utile partielle.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes Liste des objets JSON qui décrivent un CI associé (CI de recherche de table) à partir du tableau du corps items.lookup de la demande.

    Type de données : tableau d’objets

    "relatedItems": [
      { 
        "className": "String",
        "errors": [Array],
        "errorCount": Number, 
        "incompleteSysIds": [Array],
        "inputIndices": [Array],
        "mergePayloadIds": [Array],
        "operation": "String",
        "partialSysIds": [Array], 
        "sysId": "String",
        "warningCount": Number,
        "warnings": [Array]
      }
    ]
    <Chaîne>.éléments.élémentsconnexes.nomdeclasse Nom de classe/table (sys_class_name) de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.erreurs Liste des erreurs qui se sont produites lors du traitement de l’élément connexe.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.élémentsconnexes.erreurs.erreur Type d’erreur rencontrée lors du traitement de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.errors.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.errorCount Nombre d’erreurs détectées lors du traitement des éléments connexes.

    Type de données : nombre

    <chaîne>.items.relatedItems.incompleteSysIds Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.

    Type de données : chaîne

    <chaîne>.items.relatedItems.inputIndices Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres ou tableau d’objets

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <chaîne>.items.relatedItems.inputIndices.mainIndex Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.inputIndices.subIndex Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement.

    Type de données : tableau

    <chaîne>.items.relatedItems.operation Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : un nouveau CI associé a été inséré dans la base de données.
    • INSERT_AS_INCOMPLETE : L’élément a été enregistré dans cmdb_ire_incomplete_payloads table.
    • INSERT_AS_PARTIAL : l’élément a été enregistré dans cmdb_ire_partial_payloads table.
    • NO_CHANGE : Aucun changement de CI connexe n’a été apporté.
    • MISE À JOUR : le CI associé existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI associé a été mis à jour et la classe a été changée en classe plus générique (classe ancêtre).
    • UPDATE_WITH_SWITCH : le CI associé a été mis à jour et la classe a été changée en une classe qui n’est ni ancêtre ni descendant.
    • UPDATE_WITH_UPDRADE : le CI associé a été mis à jour et la classe a été changée en une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <chaîne>.items.relatedItems.partialSysIds Si l’élément connexe comporte des erreurs et a été enregistré en tant que charge utile partielle, il contient une liste des sys_ids des enregistrements associés dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads].

    Type de données : tableau

    <chaîne>.éléments.relatedItems.sysId Sys_id de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.relatedItems.warningCount Nombre d’avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : nombre

    <chaîne>.éléments.élémentsconnexes.avertissements Description des avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : tableau d’objets

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.élémentsconnexes.avertissements.erreur Type d’avertissement rencontré lors du traitement de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.avertissements.message Message associé à l’avertissement.

    Type de données : chaîne

    <chaîne>.items.relatedSysIds Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes.

    Type de données : chaîne

    <chaîne>.items.sys_id Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <chaîne>.relations Description d’un CI de relation dépendante à partir du tableau du corps relations de la demande.

    Type de données : tableau d’objets

    "relations": [ 
      { 
        "className": "String",
        "errorCount": Number,
        "errors": [Array],
        "incompleteSysIds": "String",
        "inputIndices": [Array],
        "operation": "String",
        "partialSysIds": "String",
        "sysId": "String" 
      }
    ]
    <chaîne>.relations.nomdeclasse Sys_class_name de ce CI de relation dépendante.

    Seule valeur prise en charge : cmdb_rel_ci : table de relations CI.

    Type de données : chaîne

    <chaîne>.relations.errorCount Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante.

    Type de données : nombre

    <chaîne>.relations.erreurs Liste décrivant les erreurs rencontrées lors du traitement de ce CI de relation dépendante.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.relations.erreurs.erreur Type d’erreur rencontrée lors du traitement du CI de relation dépendante.

    Type de données : chaîne

    <chaîne>.relations.erreurs.message Message d’erreur rencontré pendant le traitement de ce CI de relation dépendante.

    Type de données : chaîne

    <chaîne>.relations.incompleteSysIds Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.

    Type de données : chaîne

    <chaîne>.relations.inputIndices Index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante.

    Type de données : tableau

    <chaîne>.relations.opération Type d’opération effectuée.

    Valeurs possibles :

    • INSÉRER : le CI de relation dépendante a été inséré dans la table cible en tant que nouvel enregistrement.
    • INSERT_AS_INCOMPLETE : Le CI de relation dépendante comportait des erreurs et a été inséré dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.
    • INSERT_AS_PARTIAL : Le CI de relation dépendante comportait des erreurs et a été inséré dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.
    • NO_CHANGE : Aucune opération n’a été effectuée.
    • MISE À JOUR : un CI de relation dépendante existant dans la table cible a été mis à jour.

    Type de données : chaîne

    <chaîne>.relations.partialSysIds Si la relation comporte des erreurs et a été enregistrée en tant que charge utile partielle, cette valeur correspond au sys_id de l’enregistrement dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.

    Type de données : chaîne

    <chaîne>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

    <chaîne>.summary Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, etc., par classe.

    Type de données : tableau

    <chaîne>.résumé.<class_name> Statistiques pour une classe spécifique.

    Type de données : objet

    <class_name>: {
     "additionalInsertedItemCount": Number, 
     "errorCount": Number,
     "incompleteItemCount": Number,
     "insertedItemCount": Number,
     "partialItemCount": Number,
     "skippedItemCount": Number,
     "unchangedItemCount": Number,
     "updatedItemCount": Number,
     "warningCount": Number 
    }
    <String>.summary.<class_name>.additionalInsertedItemCount Nombre d’éléments insérés en raison du traitement de charges utiles partielles.

    Type de données : nombre

    <Chaîne>.summary.<class_name>.errorCount Nombre d’erreurs rencontrées lors du traitement des éléments.

    Type de données : nombre

    <chaîne>.summary.<class_name>.incompleteItemCount Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].

    Type de données : nombre

    <String>.summary.<class_name>.insertedItemCount Nombre d’éléments créés.

    Type de données : nombre

    <chaîne>.summary.<class_name>.partialItemCount Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads].

    Type de données : nombre

    <chaîne>.summary.<class_name>.skippedItemCount Nombre d’éléments qui ont été ignorés.

    Type de données : nombre

    <chaîne>.summary.<class_name>.unchangedItemCount Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés.

    Type de données : nombre

    <String>.summary.<class_name>.updatedItemCount Nombre d’éléments mis à jour.

    Type de données : nombre

    <String>.summary.<class_name>.warningCount Nombre d’éléments ayant généré un avertissement lors du traitement.

    Type de données : nombre

    Cet exemple montre comment importer plusieurs entrées CI.

    var payload = {
    "items": [
    {
     "className": "cmdb_ci_win_server", 
     "values": {
       "chassis_type": "Desktop",
       "os": "Windows 2012 R2 Datacenter",
       "name": "Windows2012Server1",
       "serial_number": "0000-0011-1690-8730-8636-5722-52",
       "cpu_count": "1"
      },
      "lookup": [
      {
         "values": {
           "valid": "true",
           "serial_number": "0000-0011-1690-8730-8636-5722-52",
           "serial_number_type": "bios"
          },
         "className": "cmdb_serial_number"
       },
       {
         "values": {
           "valid": "true",
           "serial_number": "3311-9736-4988-9744-1749-4183-41",
           "serial_number_type": "chassis"
          },
         "className": "cmdb_serial_number"
       }],
    
        "internal_id": "16777219",
        "sys_object_source_info": {
          "source_feed": "SN Discovery Feed 1",
          "source_name": "ServiceNow",
          "source_native_key": "16777219",
          "source_recency_timestamp": "2019-10-18 08:31:23"
       }},
       {  
       "className": "cmdb_ci_spkg",
       "values": {
         "name": "Windows 2012 R2 Datacenter",
         "key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
         },
    
      "related": [
        {
          "internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
          "values": {
            "name": "Windows 2012 R2 Datacenter-SAMLABVM52"
          },
          "className": "cmdb_software_instance",
          "sys_object_source_info": {
            "source_feed": "SN Discovery Feed 1",
            "source_name": "ServiceNow",
            "source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }}], 
      "settings" : {
            "skipReclassificationRestrictionRules" : "false",
            "updateWithoutDowngrade" : "true",
            "updateWithoutUpgrade" : "true",
            "updateWithoutSwitch" : "true"
          }}, 
      {
      "className": "cmdb_ci_app_server_tomcat",
      "values": {
        "running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
        "install_directory": "/opt/OV/nonOV/tomcat/b",
        "name": "Tomcat@hpom9:3443",
        "server_port": "8006",
        "sys_class_name": "cmdb_ci_app_server_tomcat"
      },
    
      "internal_id": "tomcat_id"
      }],
    
    "relations": [
      {
        "parent_id": "tomcat_id",
        "child_id": "16777219",
        "type": "Runs on::Runs"
      }],
    
    "referenceItems": [
      {
        "referenceField": "installed_on",
        "referenced": "16777219",
        "referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }]};
    
    var input = JSON.stringify((payload));
    var output = sn_cmdb.IdentificationEngine.createOrUpdateCIEnhanced('ServiceNow', input, {});
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
    
    "items": [
    {
      "className": "cmdb_ci_win_server",
      "operation": "NO_CHANGE",
      "sysId": "65d873d2b3a0001028f6eae2c6a8dc2a",
      "relatedSysIds": [
        "a1d873d2b3a0001028f6eae2c6a8dc32",
        "a1d873d2b3a0001028f6eae2c6a8dc33"
    ],
    
    "relatedItems": [
    {
      "className": "cmdb_serial_number",
      "sysId": "a1d873d2b3a0001028f6eae2c6a8dc32",
      "markers": [],
      "inputIndices": [
      {
        "mainIndex": 0,
        "subIndex": 0
      }]
    },
      "className": "cmdb_serial_number",
      "sysId": "a1d873d2b3a0001028f6eae2c6a8dc33",
      "markers": [],
      "inputIndices": [
      {
        "mainIndex": 0,
        "subIndex": 1
      }]
    }],
    
    "additionalRelatedItems": [],
    "identificationAttempts": [],
    "errorCount": 0,
    "inputIndices": [0]
    },
    {
    "className": "cmdb_ci_spkg",
    "operation": "NO_CHANGE",
    "sysId": "c764e971b320001028f6eae2c6a8dc44",
    
    "relatedSysIds": [
      "8b64e971b320001028f6eae2c6a8dc47"
    ],
    "relatedItems": [
      {
      "className": "cmdb_software_instance",
      "sysId": "8b64e971b320001028f6eae2c6a8dc47",
      "markers": [],
      "inputIndices": [
        {
          "mainIndex": 1,
          "subIndex": 0
        }]
      }],
    
    "additionalRelatedItems": [],
    "identifierEntrySysId": "a52a87c03746220006b216a543990e8c",
    "identificationAttempts": [
      {
        "attributes": [
          "key"
         ],
        "identifierName": "Software",
        "attemptResult": "MATCHED",
        "searchOnTable": "cmdb_ci_spkg",
        "hybridEntryCiAttributes": []
      }],
    
    "errorCount": 0,
    "inputIndices": [1]
    },
    
    {
    "className": "cmdb_ci_app_server_tomcat",
    "operation": "INSERT",
    "sysId": "6f29f3d2b3a0001028f6eae2c6a8dcc6",
    "identifierEntrySysId": "Unknown",
    "identificationAttempts": [
    {
      "attributes": [
        "install_directory",
        "running_process_key_parameters",
        "sys_class_name"
      ],
    "identifierName": "Tomcat",
    "attemptResult": "NO_MATCH",
    "searchOnTable": "cmdb_ci_app_server_tomcat",
    "hybridEntryCiAttributes": []
    },
    {
    "attributes": [
      "cl_port",
      "sys_class_name"
    ],
    "identifierName": "Application Rule",
    "attemptResult": "SKIPPED",
    "searchOnTable": "cmdb_ci_appl",
    "hybridEntryCiAttributes": []
    },
    {
    "attributes": [
      "running_process_command",
      "running_process_key_parameters",
      "sys_class_name"
    ],
    "identifierName": "Application Rule",
    "attemptResult": "NO_MATCH",
    "searchOnTable": "cmdb_ci_appl",
    "hybridEntryCiAttributes": []
    }
    ],
    
    "errorCount": 0,
    "inputIndices": [2]
    }
    ],
    "additionalCommittedItems": [],
    "relations": [
    {
      "className": "cmdb_rel_ci",
      "operation": "INSERT",
      "sysId": "6729f3d2b3a0001028f6eae2c6a8dcc9",
      "errorCount": 0,
      "inputIndices": [0]
    }],
    "additionalCommittedRelations": []
    }

    IdentificationEngine : identifyCI(String jsonString)

    Détermine l’opération (insertion/mise à jour) à effectuer avec la charge utile spécifiée sans valider l’opération dans la base de données.

    Cela fonctionne exactement comme createOrUpdateCI(), mais ne valide pas le résultat.

    Tableau 5. Paramètres
    Nom Type Description
    jsonString (en anglais seulement) Chaîne Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. Chaque chaîne d’entrée est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur.
    Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
    • className : Sys_class_name du CI à créer ou à mettre à jour.
    • lookup :[{}] : liste des enregistrements, chaque élément ayant des paires nom-valeur comme la liste des éléments.
    • values :{} : informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ.
    Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
    • enfant : index de l’élément enfant dans la relation de dépendance
    • parent : index de l’élément parent dans la relation de dépendance
    • type : type de relation. Il s’agit de l’une des valeurs de champ de nom de la table cmdb_rel_type.
    Tableau 6. Renvoie
    Type Description
    Chaîne Une chaîne au format JSON qui est une liste de résultats. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur.
    Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
    • className : Sys_class_name du CI qui a été mis à jour ou créé.
    • duplicateIndex : liste des index des éléments qui sont des doublons de l’élément actuel.
    • errors : liste des erreurs dans le format de (erreur, chaîne de message)
    • identificationAttempts : liste des tentatives.
      • attemptResult : l’une des options suivantes : SKIPPED, NO_MATCH, MATCHED, MULTI_MATCH.
      • attributs : attributs de l’entrée d’identificateur utilisés lors de l’identification.
      • identiferName : identificateur de CI auquel cet identificateur appartient.
      • searchOnTable : table faisant l’objet d’une recherche lors du processus d’identification.
    • identifierEntrySysId : Sys_id de l’entrée d’identificateur utilisée lors de la mise en correspondance.
    • opération : opération à effectuer, qui est l’une des suivantes :
      • SUPPRIMER
      • INSÉRER
      • METTRE À JOUR
      • UPDATE_WITH_DOWNGRADE
      • UPDATE_WITH_SWITCH
      • UPDATE_WITH_UPGRADE
    • relatedSysIds : liste des valeurs sys_id de CI utilisées lors de l’identification basée sur la recherche.
    • sysId : Sys_id du CI qui a été mis à jour ou créé.
    Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
    • className : nom de classe du CI de relation, toujours cmdb_rel_ci
    • opération : Type d’opération : INSERTION, MISE À JOUR, NO_CHANGE
    • sysId : Sys_id du CI de relation inséré ou mis à jour

    L’élément suivant montre comment reclassifier un élément de configuration.

    var payload = {
      "items": [
        {
          "className": "cmdb_ci_win_server",
          "values": {
            "short_description": "Linux server description",
            "name": "Linux Server 1"
          }
        }
      ]
    };
    
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.identifyCI(input);
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_linux_server",
          "operation": "NO_CHANGE",
          "sysId": "440577800f321010150efc91ff767e94",
          "identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
          "identificationAttempts": [
            {
              "attributes": [],
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "name"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "MATCHED",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            }
          ],
          "info": [
            {
              "message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
              "code": "SKIPPED_CLASS_SWITCH",
              "ruleSysId": "b3d4b3800f321010150efc91ff767eab"
            }
          ],
          "errorCount": 0,
          "warningCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ],
          "mergedPayloadIds": []
        }
      ],
      "additionalCommittedItems": [],
      "relations": [],
      "additionalCommittedRelations": []
    }

    IdentificationEngine : identifyCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)

    Détermine l’opération Base de données de gestion des configurations (CMDB) (insertion/mise à jour) à effectuer avec la charge utile spécifiée (corps de la demande), sans valider les opérations dans la base de données.

    Utilisez cette méthode pour simuler la soumission d’une charge utile.

    Cette méthode est similaire à la IdentificationEngine : identifyCI(String jsonString) méthode, mais elle prend également en charge les fonctionnalités suivantes :
    • Charges utiles partielles
      • Dans le cas d’un élément présentant un avertissement ou une erreur, indique si une opération d’élément est INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
      • Renvoie la sys_ids de charges utiles partielles qui ont été fusionnées avec des charges utiles partielles existantes.
    • Prend en charge la fonctionnalité de déduplication de charge utile.
    • Génère un résumé.
    Tableau 7. Paramètres
    Nom Type Description
    entrée Chaîne Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    éléments input.items Tableau d'objets Éléments à ajouter ou à mettre à jour.
    "items": [
      { 
        "className": "String",
        "display_values": {Object},
        "internal_id": "String",
        "lookup": [Array],
        "related": [Array],
        "settings": {Object},
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server.

    input.items.display_values Objet Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre.

    Les noms des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que :

    "display_values": {
      "model_id": "String",
      "location": "String"
    }
    input.items.internal_id Chaîne Identificateur d’élément unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    Entrée.Éléments.Recherche Tableau d'objets Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci.

    Par exemple :

    "lookup": [
      {
        "className": "String",
        "internal_id": "String",
        "sys_object_source_info": {Object},
        "values": {Object}
      }
    ]
    input.items.lookup.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter.

    input.items.lookup.internal_id Chaîne Identificateur d’élément de recherche unique pour la charge utile associée.

    Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile.

    input.items.lookup.sys_object_source_info Objet Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.lookup.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.lookup.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.lookup.sys_object_source_info.source_native_key Chaîne ID de clé unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.lookup.sys_object_source_info.source_recency_timestamp Chaîne Date/heure UTC de numérisation de l’élément.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.lookup.values Objet Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée.

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "serial_number": "String",
      "serial_number_type": "String",
      "valid": "String",
      "ip_address": "String",
      "mac_address": "String"
    }
    input.items.related.className Chaîne Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour.

    Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value.

    input.items.related.internal_id Chaîne Identificateur unique de cet élément connexe dans cette charge utile. Peut avoir n’importe quelle valeur, mais doit être unique dans la charge utile.
    input.items.related.sys_object_source_info Objet Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.related.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.related.sys_object_source_info.source_name Chaîne Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.related.sys_object_source_info.source_native_key Chaîne Clé/ID unique de la source pour l’élément connexe.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.related.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    input.items.related.values Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    Entrée.Éléments.Paramètres Objet Paramètres qui définissent les types de mises à jour autorisés.
    "settings": { 
      "skipReclassificationRestrictionRules": Boolean, 
      "updateWithoutDowngrade": Boolean, 
      "updateWithoutSwitch": Boolean,
      "updateWithoutUpgrade": Boolean
    }
    input.items.settings.skipReclassificationRestrictionRules Booléen Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile.
    Valeurs valides :
    • true : ignorer l’exécution de la règle.
    • false : exécuter la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • faux : la mise à jour et le passage à une version antérieure de l’élément sont autorisés.

    Valeur par défaut : false

    input.items.settings.updateWithoutSwitch Booléen Marqueur indiquant si l’élément peut être mis à jour et la classe changée.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’élément et le changement de classe sont autorisés.

    Valeur par défaut : false

    input.items.settings.updateWithoutUpgrade Booléen Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : Mettez à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • faux : la mise à jour et la mise à niveau d’éléments sont autorisées.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique pour une source spécifique.
    "sys_object_source_info": { 
      "source_feed": "String",
      "source_name": "String",  
      "source_native_key": "String",
      "source_recency_timestamp": "String"
    } 
    input.items.sys_object_source_info.source_feed Chaîne Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément.

    La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique.

    input.items.sys_object_source_info.source_name Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    input.items.sys_object_source_info.source_native_key Chaîne Clé/ID unique pour l’élément à partir de la source.

    La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément.

    input.items.sys_object_source_info.source_recency_timestamp Chaîne Date et heure UTC auxquelles l’élément a été analysé.

    Format : JJ-MM-AAAA hh :mm :ss

    Éléments.Valeurs Objet Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values .

    Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que :

    "values": {
      "host_name": "String",
      "ip_address": "String",
      "name": "String",
      "os_name": "String",
      "sys_class_name": "String"
    }
    input.referenceItems Tableau d'objets Liste qui définit les références entre les éléments de la charge utile entrée.
    "referenceItems": [
      { 
        "referenced": "String", 
        "referencedBy": "String", 
        "referenceField": "String" 
      }
    ]
    input.referenceItems.referenced Chaîne Défini internal_id pour l’élément référencé par un autre élément.
    input.referenceItems.referencedBy Chaîne Défini internal_id pour l’élément qui fait référence à un autre élément.
    input.referenceItems.referenceField Chaîne Nom du champ de référence dans la classe/la table de l’élément referencedBy .
    relations.entrées Tableau d'objets Liste qui spécifie les relations entre les éléments de la charge utile entrée.
    Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parentchild de paires nom-valeur, les valeurs représentant les index d’élément du tableau de charge items utile.
      "relations": [
        {
          "child": Number,
          "parent": Number,
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    • L’objet peut définir une relation entre deux éléments quelconques, y compris des éléments de niveau supérieur, connexes ou de recherche, à l’aide parent_id de child_id paires clé/valeur, les valeurs représentant internal_id les valeurs définies pour ces éléments.
      "relations": [
        {
          "child_id": "String",
          "parent_id": "String",
          "sys_rel_source_info": {Object},
          "type": "String"
        }
      ]
    entrée.relations.enfant Numéro Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup).
    input.relations.child_id Chaîne De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.)
    Entrée.Relations.Parent Numéro Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.)
    input.relations.parent_id Chaîne De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.)
    input.relations.sys_rel_source_info Objet Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .)

    Type de données : objet

    "sys_rel_source_info": { 
      "source_name": "String", 
      "source_feed": "String" 
    } 
    input.relations.sys_rel_source_info.source_name Chaîne Nom de la source de découverte.

    Par défaut : source de détection transmise dans le paramètre de méthode d’API.

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte.

    Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table.

    type.relations.entrée Chaîne Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type].
    options Objet Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités.
    Remarque :
    Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles.
    "options": { 
     "deduplicate_payloads": Boolean,
     "generate_summary": Boolean, 
     "partial_commits": Boolean, 
     "partial_payloads": Boolean,
     "skip_updating_last_scan_to_now": Boolean,
     "skip_updating_source_last_discovered_to_now": Boolean
    }
    options.deduplicate_payloads Booléen Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs.

    Valeurs valides :

    • true : fusionne les éléments en double.
    • false : considérez les éléments en double comme des erreurs.

    Valeur par défaut : true

    options.generate_summary Booléen Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour connaître les détails des informations récapitulatives renvoyées, consultez <String>.summary le tableau des résultats renvoyés.

    Valeurs valides :

    • true : inclure des informations récapitulatives.
    • false : n’incluez pas d’informations récapitulatives.

    Valeur par défaut : false

    options.partial_commits Booléen Marqueur indiquant si la prise en charge de la validation partielle est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées.

    Valeurs valides :

    • vrai : validation partielle activée.
    • false : validation partielle désactivée.

    Valeur par défaut : true

    options.partial_payloads Booléen Marqueur indiquant si la prise en charge de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE.

    Valeurs valides :

    • true : charge utile partielle activée.
    • false : charge utile partielle désactivée.

    Valeur par défaut : true

    options.skip_updating_last_scan_to_now Booléen Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source.
    Valeurs valides :
    • vrai : si le source_recency_timestamp paramètre n’est pas transmis sys_object_source_info, ne mettez pas à jour le champ d’heure de last_scan de l’sys_object_source.
    • false : mettre à jour le champ d’heure de last_scan de l’sys_object_source.

    Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now.

    options.skip_updating_source_last_discovered_to_now Booléen Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci].
    Valeurs valides :
    • true : si last_discovered n’est pas fournie dans les valeurs de l’élément de charge utile, ne mettez pas à jour les champs discovery_source et last_discovered.
    • faux : mettez à jour les champs discovery_source et last_discovered.

    Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now.

    source Chaîne Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci].
    Tableau 8. Renvoie
    Type Description
    <chaîne> Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée.

    Type de données : chaîne

    { 
      "additionalCommittedItems": [Array],  
      "additionalCommittedRelations": [Array], 
      "hasError": Boolean, 
      "hasWarning": Boolean,
      "items": [Array],  
      "relations": [Array], 
      "summary": {Object} 
    }
    <chaîne>.additionalCommittedItems Liste des CI qui ont été validés pendant le traitement IRE de la charge utile actuelle, mais qui n’étaient pas présents dans la charge utile d’entrée actuelle.

    Type de données : tableau d’objets

    "additionalCommittedItems": [
      {
        "className": "String",
        "errorCount": Number,
        "operation": "String",
        "identificationAttempts": [Array],
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloads": [Array],
        "sysId": "String"
      }
    ]
    <chaîne>.additionalCommittedRelations Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour.

    Type de données : tableau d’objets

    "additionalCommittedRelations": [
      {
        "className": "String",
        "inputIndices": [Array],
        "markers": [Array],
        "mergedPayloadIds": [Array],
        "operation": "String"
      }
    ]
    <chaîne>.hasError Marqueur indiquant si un élément ou une relation comporte des erreurs.

    Type de données : booléennes

    <chaîne>.hasWarning Marqueur indiquant si un élément ou une relation a des avertissements.

    Type de données : booléennes

    <chaîne>.items Description des CI créés ou mis à jour.

    Type de données : tableau d’objets

    "items": [ 
      {  
        "additionalRelatedItems": [Array],
        "className": "String",
        "duplicateIndices": [Array],
        "errorCount": Number, 
        "errors": [Array], 
        "identificationAttempts": [Array], 
        "identifierEntrySysId": "String",
        "info": [Array], 
        "inputIndices": [Array], 
        "maskedAttributes": [Array],
        "operation": "String",
        "relatedSysIds": [Array], 
        "sysId": "String" 
      }
    ]
    <chaîne>.éléments.additionalRelatedItems Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles.

    Type de données : tableau d’objets

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array],
        "mergedPayloadIds": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <chaîne>.éléments.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.inputIndices Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à cet élément connexe.

    Type de données : tableau de nombres

    <chaîne>.items.additionalRelatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.

    Type de données : tableau

    <chaîne>.éléments.additionalRelatedItems.operation Type d’opération.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • NO_CHANGE : Aucun changement de CI n’a été apporté.
    • MISE À JOUR : le CI existant a été mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.additionalRelatedItems.sysId Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <chaîne>.items.className Nom de classe/table (sys_class_name) du CI créé ou mis à jour.

    Type de données : chaîne

    <chaîne>.éléments.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <chaîne>.éléments.errorCount Nombre d’erreurs rencontrées lors du traitement de l’élément.

    Type de données : nombre

    <chaîne>.éléments.erreurs Liste des erreurs rencontrées lors du traitement de ce CI.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.errors.error Type d’erreur survenue lors du traitement du CI.

    Type de données : chaîne

    <chaîne>.éléments.errors.message Un message d’erreur s’est produit lors du traitement du CI.

    Type de données : chaîne

    <chaîne>.items.identificationAttempts Liste des tentatives d’identification des CI.

    Type de données : tableau d’objets

    "identificationAttempts": [
      { 
        "attemptResult": "String", 
        "attributes": [Array],
        "hybridEntryCiAttributes": [Array],
        "identifierName": "String",
        "searchOnTable": "String" 
      }
    ]
    <chaîne>.items.identificationAttempts.AttemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANT : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspondait exactement aux attributs spécifiés.
    • MULTI_MATCH : échec de l’identification avec une erreur. Des CI en double ont été trouvés dans la table de règles d’identificateurs lors de la mise en correspondance avec les attributs spécifiés.
    • NO_MATCH : échec de l’identification. Aucun CI correspondant aux attributs spécifiés n’a été trouvé dans la table de règles d’identificateurs.
    • IGNORÉ : aucune tentative d’identification. Les attributs requis pour cette recherche dans la table de règles d’identificateurs n’ont pas été fournis, par conséquent la règle n’a pas été appliquée.

    Type de données : chaîne

    <chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification.

    Type de données : tableau

    Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple :

    "attributes": [
      "serial_number": "String",
      "serial_number_type": "String",
    ]
    <chaîne>.éléments.identificationTentatives.identifierName Règle d’identificateur utilisée pour cette tentative d’identification de CI.

    Type de données : chaîne

    <String>.items.identificationAttempts.searchOnTable Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification.

    Type de données : chaîne

    <String>.items.identifierEntrySysId Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry].

    Type de données : chaîne

    <chaîne>.items.info Informations supplémentaires sur le traitement de l’élément.

    Type de données : tableau d’objets

    "info": [
     {
       "code": "String",
       "message": "String",
       "ruleSysId": "String"
     }
    ]
    <chaîne>.items.info.code Type de reclassification qui a été ignoré.
    Valeurs possibles :
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_UPGRADE

    Type de données : chaîne

    <chaîne>.items.info.message Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification.

    Type de données : chaîne

    <chaîne>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global.

    Type de données : chaîne

    <chaîne>.items.inputIndices Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres

    <chaîne>.éléments.maskedAttributes Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement.

    Type de données : tableau

    <chaîne>.éléments.opération Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : un nouveau CI a été inséré dans la base de données.
    • INSERT_AS_INCOMPLETE : L’élément a été enregistré dans cmdb_ire_incomplete_payloads table.
    • INSERT_AS_PARTIAL : l’élément a été enregistré dans cmdb_ire_partial_payloads table.
    • MISE À JOUR : le CI existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI a été mis à jour et la classe a été remplacée par une classe plus générique (ancienne classe).
    • UPDATE_WITH_SWITCH : le CI a été mis à jour et la classe a été changée en une classe qui n’est ni ancêtre ni descendant.
    • UPDATE_WITH_UPDRADE : Le CI a été mis à jour et la classe est passée à une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes Informations sur les éléments connexes traités.

    Type de données : tableau d’objets

    "relatedItems": [
      { 
        "className": "String",
        "errorCount": Number,
        "errors": [Array],
        "inputIndices": [Array],
        "mergePayloadIds": [Array],
        "operation": "String",
        "sysId": "String",
        "warningCount": Number,
        "warnings": [Array]
      }
    ]
    <Chaîne>.éléments.élémentsconnexes.nomdeclasse Nom de classe/table (sys_class_name) de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.errorCount Nombre d’erreurs détectées lors du traitement des éléments connexes.

    Type de données : nombre

    <chaîne>.éléments.élémentsconnexes.erreurs Liste des erreurs qui se sont produites lors du traitement de l’élément connexe.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.éléments.élémentsconnexes.erreurs.erreur Type d’erreur rencontrée lors du traitement de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.élémentsconnexes.errors.message Un message d’erreur s’est produit lors du traitement de l’élément connexe.

    Type de données : chaîne

    <chaîne>.items.relatedItems.inputIndices Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres ou tableau d’objets

    "inputIndices": [
      { 
       "mainIndex": Number, 
       "subIndex": Number 
      }
    ]
    <chaîne>.items.relatedItems.inputIndices.mainIndex Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.inputIndices.subIndex Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe.

    Type de données : nombre

    <chaîne>.items.relatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement.

    Type de données : tableau

    <chaîne>.items.relatedItems.operation Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : un nouveau CI associé a été inséré dans la base de données.
    • INSERT_AS_INCOMPLETE : L’élément a été enregistré dans cmdb_ire_incomplete_payloads table.
    • INSERT_AS_PARTIAL : l’élément a été enregistré dans cmdb_ire_partial_payloads table.
    • NO_CHANGE : Aucun changement de CI connexe n’a été apporté.
    • MISE À JOUR : le CI associé existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI associé a été mis à jour et la classe a été changée en classe plus générique (classe ancêtre).
    • UPDATE_WITH_SWITCH : le CI associé a été mis à jour et la classe a été changée en une classe qui n’est ni ancêtre ni descendant.
    • UPDATE_WITH_UPDRADE : le CI associé a été mis à jour et la classe a été changée en une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <chaîne>.éléments.relatedItems.sysId Sys_id de l’élément connexe.

    Type de données : chaîne

    <chaîne>.éléments.relatedItems.warningCount Nombre d’avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : nombre

    <chaîne>.éléments.élémentsconnexes.avertissements Description des avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : tableau d’objets

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.items.relatedSysIds Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes.

    Type de données : chaîne

    <chaîne>.items.sys_id Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <chaîne>.relations Informations sur les relations traitées.

    Type de données : tableau d’objets

    "relations": [ 
      { 
        "className": "String",
        "errorCount": Number,
        "errors": [Array],
        "inputIndices": [Array],
        "operation": "String",
        "sysId": "String" 
      }
    ]
    <chaîne>.relations.nomdeclasse Sys_class_name de ce CI de relation dépendante.

    Seule valeur prise en charge : cmdb_rel_ci : table de relations CI.

    Type de données : chaîne

    <chaîne>.relations.errorCount Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante.

    Type de données : nombre

    <chaîne>.relations.erreurs Liste décrivant les erreurs rencontrées lors du traitement de ce CI de relation dépendante.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <chaîne>.relations.inputIndices Index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante.

    Type de données : tableau

    <chaîne>.relations.opération Type d’opération effectuée.

    Valeurs possibles :

    • INSÉRER : le CI de relation dépendante a été inséré dans la table cible en tant que nouvel enregistrement.
    • INSERT_AS_INCOMPLETE : Le CI de relation dépendante comportait des erreurs et a été inséré dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB.
    • INSERT_AS_PARTIAL : Le CI de relation dépendante comportait des erreurs et a été inséré dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB.
    • NO_CHANGE : Aucune opération n’a été effectuée.
    • MISE À JOUR : un CI de relation dépendante existant dans la table cible a été mis à jour.

    Type de données : chaîne

    <chaîne>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

    <chaîne>.summary Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, etc., par classe.

    Type de données : tableau

    <chaîne>.résumé.<class_name> Statistiques pour une classe spécifique.

    Type de données : objet

    <class_name>: {
     "additionalInsertedItemCount": Number, 
     "errorCount": Number,
     "incompleteItemCount": Number,
     "insertedItemCount": Number,
     "partialItemCount": Number,
     "skippedItemCount": Number,
     "unchangedItemCount": Number,
     "updatedItemCount": Number,
     "warningCount": Number 
    }
    <String>.summary.<class_name>.additionalInsertedItemCount Nombre d’éléments insérés en raison du traitement de charges utiles partielles.

    Type de données : nombre

    <Chaîne>.summary.<class_name>.errorCount Nombre d’erreurs rencontrées lors du traitement des éléments.

    Type de données : nombre

    <chaîne>.summary.<class_name>.incompleteItemCount Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].

    Type de données : nombre

    <String>.summary.<class_name>.insertedItemCount Nombre d’éléments créés.

    Type de données : nombre

    <chaîne>.summary.<class_name>.partialItemCount Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads].

    Type de données : nombre

    <chaîne>.summary.<class_name>.skippedItemCount Nombre d’éléments qui ont été ignorés.

    Type de données : nombre

    <chaîne>.summary.<class_name>.unchangedItemCount Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés.

    Type de données : nombre

    <String>.summary.<class_name>.updatedItemCount Nombre d’éléments mis à jour.

    Type de données : nombre

    <String>.summary.<class_name>.warningCount Nombre d’éléments ayant généré un avertissement lors du traitement.

    Type de données : nombre

    var payload = {
    "items": [
    {
    "className": "cmdb_ci_win_server",
    "values": {
       "chassis_type": "Desktop",
       "os": "Windows 2012 R2 Datacenter",
       "name": "Windows2012Server1",
       "serial_number": "0000-0011-1690-8730-8636-5722-52",
       "cpu_count": "1"
      },
      "lookup": [
      {
         "values": {
           "valid": "true",
           "serial_number": "0000-0011-1690-8730-8636-5722-52",
           "serial_number_type": "bios"
          },
         "className": "cmdb_serial_number"
       },
       {
         "values": {
           "valid": "true",
           "serial_number": "3311-9736-4988-9744-1749-4183-41",
           "serial_number_type": "chassis"
          },
         "className": "cmdb_serial_number"
       }],
     
        "internal_id": "16777219",
        "sys_object_source_info": {
          "source_feed": "SN Discovery Feed 1",
          "source_name": "ServiceNow",
          "source_native_key": "16777219",
          "source_recency_timestamp": "2019-10-18 08:31:23"
       }},
       {
       "className": "cmdb_ci_spkg",
       "values": {
         "name": "Windows 2012 R2 Datacenter",
         "key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
         },
     
      "related": [
        {
         "internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
          "values": {
            "name": "Windows 2012 R2 Datacenter-SAMLABVM52"
          },
          "className": "cmdb_software_instance",
          "sys_object_source_info": {
            "source_feed": "SN Discovery Feed 1",
            "source_name": "ServiceNow",
            "source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }},
      {
        "internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229",
          "values": {
            "name": "Windows 2012 R2 Datacenter-SAMLABVM52"
          },
        "className": "cmdb_software_instance",
        "sys_object_source_info": {
          "source_feed": "SN Discovery Feed 1",
          "source_name": "ServiceNow",
          "source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229"
      }}
    ],
      "settings" : {
            "skipReclassificationRestrictionRules" : "false",
            "updateWithoutDowngrade" : "true",
            "updateWithoutUpgrade" : "true",
            "updateWithoutSwitch" : "true"
          }},
      {
      "className": "cmdb_ci_app_server_tomcat",
      "values": {
        "running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
        "install_directory": "/opt/OV/nonOV/tomcat/b",
        "name": "Tomcat@hpom9:3443",
        "server_port": "8006",
        "sys_class_name": "cmdb_ci_app_server_tomcat"
      },
     
      "internal_id": "tomcat_id"
      }],
     
    "relations": [
      {
        "parent_id": "tomcat_id",
        "child_id": "16777219",
        "type": "Runs on::Runs"
      }],
     
    "referenceItems": [
      {
        "referenceField": "installed_on",
        "referenced": "16777219",
        "referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
      }]};
     
    var input = JSON.stringify(payload);
    var output = sn_cmdb.IdentificationEngine.identifyCIEnhanced('ServiceNow', input, {});
    
    gs.info(JSON.stringify(JSON.parse(output), null, 2));

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_win_server",
          "operation": "INSERT",
          "relatedSysIds": [
            null,
            null
          ],
          "relatedItems": [
            {
              "errors": [],
              "operation": "INSERT",
              "className": "cmdb_serial_number",
              "errorCount": 0,
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 0
                }
              ],
              "mergedPayloadIds": [],
              "warningCount": 0
            },
            {
              "errors": [],
              "operation": "INSERT",
              "className": "cmdb_serial_number",
              "errorCount": 0,
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 1
                }
              ],
              "mergedPayloadIds": [],
              "warningCount": 0
            }
          ],
          "identificationAttempts": [
            {
              "attributes": [],
              "info": "sys_object_source NO_MATCH",
              "identifierName": "",
              "attemptResult": "NO_MATCH",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number",
                "serial_number_type"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "searchOnTable": "cmdb_serial_number",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "serial_number"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "name"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "NO_MATCH",
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "mac_address",
                "name"
              ],
              "identifierName": "Hardware Rule",
              "attemptResult": "SKIPPED",
              "searchOnTable": "cmdb_ci_network_adapter",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ],
          "mergedPayloadIds": [],
          "warningCount": 0
        },
        {
          "className": "cmdb_ci_spkg",
          "operation": "INSERT",
          "relatedSysIds": [
            null
          ],
          "relatedItems": [
            {
              "errors": [],
              "operation": "INSERT",
              "className": "cmdb_software_instance",
              "errorCount": 0,
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 1,
                  "subIndex": 0
                }
              ],
              "mergedPayloadIds": [],
              "warningCount": 0
            },
            {
              "errors": [],
              "warnings": [
                {
                  "error": "MISSING_MATCHING_ATTRIBUTES",
                  "message": "In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [cmdb_software_instance]. Add these input values in payload item '{\"className\":\"cmdb_software_instance\",\"values\":{},\"internal_id\":\"f7273cccec30101056cd4bb46eb4db5d\",\"sys_object_source_info\":{\"source_feed\":\"SN Discovery Feed 1\",\"source_name\":\"ServiceNow\",\"source_native_key\":\"Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229\"},\"settings\":{},\"sys_ire_info\":{\"ire_received_time\":\"2020-05-10 17:57:48\"}}'"
                }
              ],
              "operation": "INSERT_AS_PARTIAL",
              "className": "cmdb_software_instance",
              "errorCount": 0,
              "sysId": "Unknown",
              "markers": [],
              "inputIndices": [
                {
                  "mainIndex": 1,
                  "subIndex": 1
                }
              ],
              "mergedPayloadIds": [],
              "warningCount": 1
            }
          ],
          "identificationAttempts": [
            {
              "attributes": [],
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "hybridEntryCiAttributes": []
            },
            {
              "attributes": [
                "key"
              ],
              "identifierName": "Software",
              "attemptResult": "NO_MATCH",
              "searchOnTable": "cmdb_ci_spkg",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "markers": [],
          "inputIndices": [
            1
          ],
          "mergedPayloadIds": [],
          "warningCount": 0
        },
        {
          "className": "cmdb_ci_app_server_tomcat",
          "operation": "INSERT",
          "identificationAttempts": [
            {
              "attributes": [],
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "hybridEntryCiAttributes": []
            }
          ],
          "errorCount": 0,
          "markers": [],
          "inputIndices": [
            2
          ],
          "mergedPayloadIds": [],
          "warningCount": 0
        }
      ],
      "additionalCommittedItems": [],
      "relations": [
        {
          "className": "cmdb_rel_ci",
          "operation": "INSERT",
          "errorCount": 0,
          "markers": [],
          "inputIndices": [
            0
          ],
          "mergedPayloadIds": [],
          "warningCount": 0
        }
      ],
      "additionalCommittedRelations": []
    }  

    Moteur d’identification : runIdentificationAudit(GlideRecord now_GR)

    Exécute un audit d’identification par rapport à l’élément de configuration (CI) spécifié pour détecter les doublons.

    Si des doublons sont trouvés, des tâches de duplication sont créées. N’utilisez cette méthode que sur les types de CI avec des règles d’identification indépendantes.

    Tableau 9. Paramètres
    Nom Type Description
    now_GR GlideRecord CI sur lequel exécuter l’audit pour détecter les doublons. Le CI doit avoir des règles d’identification indépendantes.
    Tableau 10. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment vérifier la présence de doublons dans un enregistrement de la table Serveurs Linux [cmdb_ci_linux_server].

    var sysId = '<cbdb_ci_sys_id>';
    var gr = new GlideRecord('cmdb_ci_linux_server');
    gr.get(sysId);
    sn_cmdb.IdentificationEngine.runIdentificationAudit(gr);