IdentificationEngineScriptableApi : global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 78 minutes de lecture
  • IdentificationEngineScriptableApi 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).

    IdentificationEngineScriptableApi : createOrUpdateCI(Source de chaîne, Entrée de 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 les règles d’identification CMDB et de rapprochement. Utilisez cette API au lieu de mettre CMDB à jour directement.

    Vous devez transmettre des CI non CMDB en tant qu’éléments de recherche ou connexes dans la charge utile IRE. 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. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    Entrée.Éléments 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}
      }
    ]
    entrée.éléments.nom_classe 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 ou 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 sous forme de 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 la sys_id au lieu de la valeur d’affichage des 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 a une 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 ou 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 d’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 de manière unique le flux source.

    nom_source input.items.lookup.sys_objet_source_nom_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].
    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

    Entrée.Éléments.Recherche.Valeurs Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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.Connexes 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 le type d’enregistrements qui peuvent se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui a une référence au CI en cours d’identification.

    La table connexe peut étendre ou non 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 ou 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 d’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 de manière unique le flux source.

    nom_source input.items.related.sys_objet_source.nom_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].
    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

    Entrée.Éléments.Valeurs.connexes Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 :
    • vrai : ignorer l’exécution de la règle.
    • faux : exécutez la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : mettre à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • false : la mise à jour de l’élément et le passage à une version antérieure 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 : mettre à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • false : la mise à jour et la mise à niveau de l’élément 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 : mettre à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’un objet et le changement de classe sont autorisés.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique d’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 de manière unique le flux source.

    input.items.sys_info_source_objet_nom_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].
    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

    entrée.éléments.valeurs Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 dans la charge utile d’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 pour l’élément referencedBy .
    Entrée.Relations Tableau d'objets Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée.
    Un objet de ce tableau peut utiliser l’un des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parent des paires nom-valeur et child avec des valeurs représentant les index d’éléments 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 les éléments de niveau supérieur, associés ou de recherche, à l’aide parent_id de paires clé/valeur et child_id avec des 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 Le internal_id de 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 L’élément internal_id de 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.nom_source Chaîne Nom de la source de découverte.

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

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse dans 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.

    entrée.relations.type Chaîne Type de relation qui existe entre les éléments parent et enfant. 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 sur le 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 d’éléments et de relations contient des paires nom-valeur.

    Type de données : chaîne

    <Chaîne>.additionalCommittedItems Aucune valeur n’est actuellement renvoyée.
    <String>.additionalCommittedRelations Aucune valeur n’est actuellement renvoyée.
    <chaîne>.éléments 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"
    }
    <String>.items.additionalRelatedItems Liste des informations sur la recherche supplémentaire et les éléments connexes qui ont été traités, mais qui n’ont pas été fournis dans le cadre de la charge utile d’entrée. Ces éléments proviennent de charges utiles partielles.

    Ces informations ne sont pas actuellement renvoyées.

    Type de données : tableau d’objets

    "additionalRelatedItems": [ 
      {
        "className": "String", 
        "inputIndices": [Array], 
        "operation": "String",
        "sysId": "String"
      }
    ]
    <String>.items.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.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 
      }
    ]
    <String>.items.additionalRelatedItems.inputIndices.mainIndex Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire.

    Type de données : nombre

    <String>.items.additionalRelatedItems.inputIndices.subIndex Valeur d’index du tableau de corps items.lookup de la demande correspondant à l’élément connexe supplémentaire.

    Type de données : nombre

    <String>.items.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 : un CI existant a été mis à jour.

    Type de données : chaîne

    <String>.items.additionalRelatedItems.sysId Sys_id des éléments connexes supplémentaires.

    Type de données : chaîne

    <String>.items.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <String>.items.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.erreurs.erreur Type d’erreur rencontrée lors du traitement du CI.

    Type de données : chaîne

    <Chaîne>.éléments.erreurs.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <String>.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" 
      }
    ]
    <String>.items.identificationAttempts.attemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANCE : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspond 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 des règles d’identificateur 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’identificateur.
    • IGNORÉ : identification non tentée. Les attributs requis pour cette recherche dans la table des règles d’identificateur n’étant pas fournis, la règle n’a donc pas été appliquée.

    Type de données : chaîne

    <Chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification.

    Type de données : tableau

    Les noms et les 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.
    <String>.items.identificationAttempts.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 recherché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.

    Type de données : chaîne

    Table : Entrée d’identificateur [cmdb_identifier_entry]

    <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>.éléments.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>.éléments.info.message Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée.

    Type de données : chaîne

    <String>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification correspondante. 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

    <String>.items.inputIndices Valeurs d’index pour les CI du tableau de corps items de la demande qui correspondent à ce CI.

    Type de données : tableau

    <String>.items.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>.items.relatedItems Liste qui fournit 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"
      }
    ]
    <String>.items.relatedItems.className Nom de classe/table (sys_class_name) de l’élément associé.

    Type de données : chaîne

    <String>.items.relatedItems.errors Liste des erreurs qui se sont produites pendant le traitement.

    Type de données : tableau d’objets

    "errors": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedItems.errorCount Nombre d’erreurs détectées pendant le traitement.

    Type de données : nombre

    <String>.items.relatedItems.inputIndices Index des éléments connexes correspondants.

    Type de données : tableau ou nombres

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

    Type de données : nombre

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

    Type de données : nombre

    <String>.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 : un CI existant a été mis à jour.

    Type de données : chaîne

    <String>.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 associé.

    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" 
      }
    ]
    <String>.relations.className 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

    <String>.relations.errorCount Nombre d’erreurs.

    Type de données : nombre

    <String>.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

    <String>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

    La section suivante 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 = new JSON().encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
    gs.print(output);

    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": []
    }
    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 jsonUntil = new JSON();
    var input = jsonUntil.encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
    gs.print(output);
    

    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 jsonUntil = new JSON();
    var input = jsonUntil.encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceWatch', input);
    gs.print(output);
    

    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 à l’aide de 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 jsonUntil = new JSON();
    var input = jsonUntil.encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
    gs.print(output);
    

    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": []
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode createOrUpdateCI(Source de chaîne, Entrée de chaîne) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine incluse dans le champ d’application correspondante : createOrUpdateCI(Source de chaîne, Entrée de chaîne).

    IdentificationEngineScriptableApi : 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 les règles d’identification CMDB et de rapprochement. Utilisez cette API au lieu de mettre CMDB à jour directement.

    Vous devez transmettre des CI non CMDB en tant qu’éléments de recherche ou connexes dans la charge utile IRE. Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.

    En plus de fournir la fonctionnalité de la méthode createOrUpdateCI(), cette méthode prend également en charge :
    • Gestion de 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 plus d’informations sur l’IRE et des explications plus détaillées sur les données utilisées par cette méthode, voir Identification et réconciliation (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. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    Entrée.Éléments 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}
      }
    ]
    entrée.éléments.nom_classe 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 ou 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 sous forme de 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 la sys_id au lieu de la valeur d’affichage des 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 a une 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 ou 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 de manière unique le flux source.

    nom_source input.items.lookup.sys_objet_source_nom_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].
    input.items.lookup.sys_object_source_info.source_native_key Chaîne Identificateur-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 à laquelle l’élément a été analysé.

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

    Entrée.Éléments.Recherche.Valeurs 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 le sys_id référencé.

    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 ou 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 être 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 de manière unique le flux source.

    nom_source input.items.related.sys_objet_source.nom_source Chaîne Identifie la 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 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

    Entrée.Éléments.Valeurs.connexes Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 :
    • vrai : ignorer l’exécution de la règle.
    • faux : exécutez la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : mettre à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • false : la mise à jour de l’élément et le passage à une version antérieure 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 : mettre à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’un objet 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 : mettre à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • false : la mise à jour et la mise à niveau de l’élément sont autorisées.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique d’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 de manière unique le flux source.

    input.items.sys_info_source_objet_nom_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].
    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

    entrée.éléments.valeurs Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 dans la charge utile d’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 pour l’élément referencedBy .
    Entrée.Relations Tableau d'objets Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée.
    Un objet de ce tableau peut utiliser l’un des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parent des paires nom-valeur et child avec des valeurs représentant les index d’éléments 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 les éléments de niveau supérieur, associés ou de recherche, à l’aide parent_id de paires clé/valeur et child_id avec des 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 Le internal_id de 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 L’élément internal_id de 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.nom_source Chaîne Nom de la source de découverte.

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

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse dans 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.

    entrée.relations.type Chaîne Type de relation qui existe entre les éléments parent et enfant. 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 true, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur false, 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 : fusionner les éléments en double.
    • false : les éléments en double sont considérés comme des erreurs.

    Par défaut : true

    options.generate_summary Booléen Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus de détails sur les informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés.

    Valeurs valides :

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

    Valeur par défaut : false

    options.partial_commits Booléen Marqueur indiquant si la prise en charge partielle de la validation 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.

    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 :

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

    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 paramètre n’est source_recency_timestamp pas transmis sys_object_source_info, ne mettez pas à jour le champ d’heure de last_scan du sys_object_source.
    • faux : mettre à jour le champ d’heure de last_scan du 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 si la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci] doit être ignorée.
    Valeurs valides :
    • vrai : si last_discovered n’est pas fourni dans les valeurs de l’élément de charge utile, ne mettez pas à jour les champs discovery_source et last_discovered.
    • faux : mettre à 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"
      }
    ]
    <String>.additionalCommittedItems.className Sys_class_name de ce CI supplémentaire.

    Type de données : chaîne

    <String>.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 qui décrit 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 Message d’erreur rencontré lors du traitement du CI supplémentaire.

    Type de données : chaîne

    <String>.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]
      }
    ]
    <String>.additionalCommittedItems.identificationAttempts.attemptResult Résultat de cette tentative d’identification de CI supplémentaire.

    Type de données : chaîne

    Valeurs possibles :
    • CORRESPONDANCE : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspond 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 des règles d’identificateur 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’identificateur.
    • IGNORÉ : identification non tentée. Les attributs requis pour cette recherche dans la table des règles d’identificateur n’étant pas fournis, la règle n’a donc pas été appliquée.
    <Chaîne>.additionalCommittedItems.identificationAttempts.attributes Attributs d’entrée d’identificateur de CI utilisés au cours de cette tentative d’identification de CI supplémentaire.

    Type de données : tableau

    Les noms et les 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 au cours de cette tentative d’identification de CI supplémentaire.

    Type de données : tableau

    Les noms et les 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"
    ]
    <String>.additionalCommittedItems.identificationAttempts.identifierName Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire.

    Type de données : chaîne

    <String>.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 pour les CI du tableau de corps items de la demande qui correspondent à ce CI supplémentaire.

    Type de données : tableau de nombres

    "inputIndices": [
      {
        Number
      }
    ]
    <String>.additionalCommittedItems.markers Valeurs du marqueur pour une utilisation interne.

    Type de données : tableau

    "markers": []
    <String>.additionalCommittedItems.mergedPayloads Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] 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.
    • MISE À 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 (classe ancêtre).
    • 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 pas une classe ancêtres ou descendantes.
    • 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).
    <String>.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.avertissements 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.avertissements.message Message d’avertissement rencontré lors du traitement de ce CI supplémentaire.

    Type de données : chaîne

    <String>.additionalCommittedRelations Description d’un CI de relation dépendante qui n’était pas 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"
      }
    ]
    <String>.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 des 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 est survenu lors du 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 de 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.marqueurs Valeurs du marqueur pour une utilisation interne.

    Type de données : tableau

    "markers": []
    <String>.additionalCommittedRelations.mergedPayloadIds Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI.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épendante est inséré dans la table cible en tant que nouvel enregistrement.
    • INSERT_AS_INCOMPLETE : CI de relation dépendante comportait des erreurs et est inséré dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].
    • INSERT_AS_PARTIAL : CI de relation dépendante a connu des erreurs et est inséré dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads].
    • NO_CHANGE : aucune opération n’est effectuée pour le CI de relation dépendant.
    • MISE À 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 comporte des avertissements.

    Type de données : booléennes

    <chaîne>.éléments 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" 
      }
    ]
    <String>.items.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 d’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"
      }
    ]
    <String>.items.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.additionalRelatedItems.inputIndices Valeurs d’index des CI du tableau de corps items de la demande qui correspondent à cet élément associé.

    Type de données : tableau de nombres

    <String>.items.additionalRelatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément associé.

    Type de données : tableau

    Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]

    <String>.items.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 : un CI existant a été mis à jour.

    Type de données : chaîne

    <String>.items.additionalRelatedItems.sysId Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <String>.items.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <String>.items.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.erreurs.erreur Type d’erreur rencontrée lors du traitement du CI.

    Type de données : chaîne

    <Chaîne>.éléments.erreurs.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <String>.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" 
      }
    ]
    <String>.items.identificationAttempts.attemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANCE : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspond 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 des règles d’identificateur 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’identificateur.
    • IGNORÉ : identification non tentée. Les attributs requis pour cette recherche dans la table des règles d’identificateur n’étant pas fournis, la règle n’a donc pas été appliquée.

    Type de données : chaîne

    <Chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification.

    Type de données : tableau

    Les noms et les 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 CI qui ont été utilisés au cours du processus d’identification.

    Type de données : tableau

    Les noms et les 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"
    ]
    <String>.items.identificationAttempts.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 recherché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.

    Type de données : chaîne

    Table : Entrée d’identificateur [cmdb_identifier_entry]

    <String>.items.incompleteSysIds Si l’élément comporte des erreurs et a été enregistré comme charge utile incomplète, ce paramètre contient le sys_id de l’enregistrement dans la table de charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].

    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>.éléments.info.code Type de reclassification qui a été ignoré.
    Valeurs possibles :
    • SKIPPED_CLASS_DOWNGRADE
    • SKIPPED_CLASS_SWITCH
    • SKIPPED_CLASS_UPGRADE

    Type de données : chaîne

    <Chaîne>.éléments.info.message Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée.

    Type de données : chaîne

    <String>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification correspondante. 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

    <String>.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 connexes ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres

    <String>.items.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 : un 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 (classe ancêtre).
    • 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 descendante.
    • UPDATE_WITH_UPDRADE : le CI 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

    <String>.items.partialSysIds Si l’élément comportait des erreurs et a été enregistré comme 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>.items.relatedItems Liste des objets JSON qui décrivent un CI connexe (CI de recherche de table) à partir du tableau de 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]
      }
    ]
    <String>.items.relatedItems.className Nom de classe/table (sys_class_name) de l’élément associé.

    Type de données : chaîne

    <String>.items.relatedItems.errors 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

    <String>.items.relatedItems.errors.message Message d’erreur associé à l’erreur.

    Type de données : chaîne

    <String>.items.relatedItems.errorCount Nombre d’erreurs détectées lors du traitement des éléments connexes.

    Type de données : nombre

    <String>.items.relatedItems.incompleteSysIds Si la relation comportait des erreurs et a été enregistrée comme charge utile incomplète, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].

    Type de données : chaîne

    <String>.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 
      }
    ]
    <String>.items.relatedItems.inputIndices.mainIndex Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe.

    Type de données : nombre

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

    Type de données : nombre

    <String>.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

    <String>.items.relatedItems.operation Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : le 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 n’a été apporté.
    • MISE À JOUR : le CI connexe existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI connexe a été mis à jour et la classe a été remplacée par une classe plus générique (classe ancêtre).
    • UPDATE_WITH_SWITCH : le CI connexe a été mis à jour et la classe a été remplacée par une classe qui n’est ni ancêtre ni descendante.
    • UPDATE_WITH_UPDRADE : le CI connexe a été mis à jour et la classe a été remplacée par une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <String>.items.relatedItems.partialSysIds Si l’élément associé comportait des erreurs et a été enregistré comme charge utile partielle, il contient une liste des sys_ids des enregistrements associés dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads].

    Type de données : tableau

    <String>.items.relatedItems.sysId Sys_id de l’élément connexe.

    Type de données : chaîne

    <String>.items.relatedItems.warningCount Nombre d’avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : nombre

    <String>.items.relatedItems.warnings Description des avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : tableau d’objets

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedItems.warnings.error Type d’avertissement rencontré lors du traitement de l’élément connexe.

    Type de données : chaîne

    <Chaîne>.éléments.connexesÉléments.avertissements.message Message associé à l’avertissement.

    Type de données : chaîne

    <String>.items.relatedSysIds Liste des valeurs de sys_id des CI utilisés 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 de 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" 
      }
    ]
    <String>.relations.className 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

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

    Type de données : nombre

    <Chaîne>.relations.errors Liste qui décrit 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é lors du traitement de ce CI de relation dépendante.

    Type de données : chaîne

    <String>.relations.incompleteSysIds Si la relation comportait des erreurs et a été enregistrée comme charge utile incomplète, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].

    Type de données : chaîne

    <String>.relations.inputIndices Index des objets CI de relation dépendante dans le tableau de 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 a connu des erreurs et a été inséré dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].
    • INSERT_AS_PARTIAL : CI de relation dépendante a connu des erreurs et a été inséré dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads].
    • 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

    <String>.relations.partialSysIds Si la relation comportait des erreurs et a été enregistrée comme charge utile partielle, cette valeur est le sys_id de l’enregistrement dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads].

    Type de données : chaîne

    <String>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

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

    Type de données : tableau

    <chaîne>.summary.<class_name> Statistiques d’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

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

    Type de données : nombre

    <String>.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 de charge utile partielle [cmdb_ire_partial_payloads].

    Type de données : nombre

    <String>.summary.<class_name>.skippedItemCount Nombre d’éléments ignorés.

    Type de données : nombre

    <String>.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

    <Chaîne>.summary.<class_name>.updatedItemCount Nombre d’éléments mis à jour.

    Type de données : nombre

    <String>.summary.<class_name>.warningCount Nombre d’éléments qui ont généré un avertissement lors de leur traitement.

    Type de données : nombre

    Identifiez un CI dépendant.

    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 = new JSON().encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCIEnhanced('ServiceNow', input, {});

    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": []
    }

    IdentificationEngineScriptableApi : identifyCI(String jsonString)

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

    Remarque :
    Si vos règles d’identification sont configurées pour le faire, cette méthode peut également ingérer des tables non CMDB. Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.

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

    Tableau 5. Paramètres
    Nom Type Description
    chaîne jsonChaîne Chaîne Une 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 d’éléments et de 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 avec 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 du champ.
    Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
    • child : 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 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 d’éléments et de 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 au format de (erreur, chaîne de message)
    • identificationAttempts : liste des tentatives.
      • attemptResult : l’un des éléments suivants : SKIPPED, NO_MATCH, MATCHED MULTI_MATCH.
      • attributs : attributs de l’entrée d’identificateur utilisée lors de l’identification.
      • identiferName : identificateur de CI auquel cette entrée d’identificateur appartient.
      • searchOnTable : table recherchée au cours du processus d’identification.
    • identifierEntrySysId : Sys_id de l’entrée d’identificateur utilisée pendant la correspondance.
    • opération : opération à effectuer, qui est l’une des suivantes :
      • DELETE
      • INSÉRER
      • METTRE À JOUR
      • UPDATE_WITH_DOWNGRADE
      • UPDATE_WITH_SWITCH
      • UPDATE_WITH_UPGRADE
    • relatedSysIds : liste des valeurs de sys_id des CI utilisés 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 et toujours cmdb_rel_ci
    • Opération : Type d’opération : INSÉRER, METTRE À JOUR, NO_CHANGE
    • sysId : Sys_id du CI de relation inséré ou mis à jour

    Identifiez un CI indépendant à l’aide de 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 jsonUntil = new JSON();
    var input = jsonUntil.encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.identifyCI(input);
    gs.print(output);
    

    Sortie :

    {
      "items": [
        {
          "className": "cmdb_ci_netgear",
          "operation": "UPDATE",
          "sysId": "55b35562c0a8010e01cff22378e0aea9",
          "relatedSysIds": [
            null,
            null
          ],
          "relatedItems": [
            {
              "errors": [
              
              ],
              "operation": "INSERT",
              "info": [
              
              ],
              "errorCount": 0,
              "mergedPayloadIds": [
              
              ],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 0
                }
              ],
              "warningCount": 0,
              "markers": [
              
              ],
              "className": "cmdb_serial_number"
            },
            {
              "errors": [
              
              ],
              "operation": "INSERT",
              "info": [
              
              ],
              "errorCount": 0,
              "mergedPayloadIds": [
              
              ],
              "inputIndices": [
                {
                  "mainIndex": 0,
                  "subIndex": 1
                }
              ],
              "warningCount": 0,
              "markers": [
              
              ],
              "className": "cmdb_serial_number"
            }
          ],
          "identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
          "identificationAttempts": [
            {
              "info": "sys_object_source SKIPPED",
              "identifierName": "",
              "attemptResult": "SKIPPED",
              "attributes": [
                "source_name",
                "source_native_key"
              ],
              "searchOnTable": "sys_object_source",
              "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": "MATCHED",
              "attributes": [
                "name"
              ],
              "searchOnTable": "cmdb_ci_hardware",
              "hybridEntryCiAttributes": [
               
              ]
            }
          ],
          "info": [
          
          ],
          "errorCount": 0,
          "mergedPayloadIds": [
          
          ],
          "inputIndices": [
            0
          ],
          "warningCount": 0,
          "markers": [
          
          ]
        }
      ],
      "additionalCommittedItems": [
                
      ],
      "relations": [
      
      ],
      "additionalCommittedRelations": [
           
      ],
      "hasError": false,
      "hasWarning": false
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode identifyCI(String jsonString) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine correspondante : identifyCI(String jsonString).

    IdentificationEngineScriptableApi : 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) (insérer/mettre à jour) à effectuer avec la charge utile spécifiée (corps de la demande), sans valider les opérations dans la base de données.

    Remarque :
    Si vos règles d’identification sont configurées pour le faire, cette méthode peut également ingérer des tables non CMDB. Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.

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

    Cette méthode est similaire à la IdentificationEngineScriptableApi : identifyCI(String jsonString) méthode, mais elle prend également en charge les fonctionnalités suivantes :
    • Charges utiles partielles
      • Si un élément présente un avertissement ou une erreur, indique si une opération d’élément est INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
      • Renvoie le sys_ids des charges utiles partielles qui ont été fusionnées avec des charges utiles partielles existantes.
    • Prend en charge la fonctionnalité de déduplication de la 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. Une chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour.
    "input" { 
     "items": [Array],
     "referenceItems": [Array],
     "relations": [Array]
    }
    Entrée.Éléments 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}
      }
    ]
    entrée.éléments.nom_classe 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 ou 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 sous forme de 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 la sys_id au lieu de la valeur d’affichage des 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 a une 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 ou 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 de manière unique le flux source.

    nom_source input.items.lookup.sys_objet_source_nom_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].
    input.items.lookup.sys_object_source_info.source_native_key Chaîne Identificateur-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 à laquelle l’élément a été analysé.

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

    Entrée.Éléments.Recherche.Valeurs 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 le sys_id référencé.

    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 ou 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 être 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 de manière unique le flux source.

    nom_source input.items.related.sys_objet_source.nom_source Chaîne Identifie la 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 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

    Entrée.Éléments.Valeurs.connexes Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 :
    • vrai : ignorer l’exécution de la règle.
    • faux : exécutez la règle.

    Valeur par défaut : false

    input.items.settings.updateWithoutDowngrade Booléen Marqueur indiquant si la mise à jour et la version antérieure sont autorisées pour cet élément.
    Valeurs valides :
    • vrai : mettre à jour l’élément, mais le passage à une version antérieure n’est pas autorisé.
    • false : la mise à jour de l’élément et le passage à une version antérieure 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 : mettre à jour l’élément, mais le changement de classe n’est pas autorisé.
    • false : la mise à jour d’un objet 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 : mettre à jour l’élément, mais la mise à niveau n’est pas autorisée.
    • false : la mise à jour et la mise à niveau de l’élément sont autorisées.

    Valeur par défaut : false

    input.items.sys_object_source_info Objet Identificateur CI unique d’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 de manière unique le flux source.

    input.items.sys_info_source_objet_nom_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].
    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

    entrée.éléments.valeurs Objet Champs à créer ou mettre à jour pour cet élément associé sous forme de 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 dans la charge utile d’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 pour l’élément referencedBy .
    Entrée.Relations Tableau d'objets Liste qui spécifie les relations entre les éléments dans la charge utile d’entrée.
    Un objet de ce tableau peut utiliser l’un des deux formats.
    • L’objet peut définir une relation entre deux éléments de niveau supérieur (uniquement) à l’aide parent des paires nom-valeur et child avec des valeurs représentant les index d’éléments 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 les éléments de niveau supérieur, associés ou de recherche, à l’aide parent_id de paires clé/valeur et child_id avec des 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 Le internal_id de 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 L’élément internal_id de 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.nom_source Chaîne Nom de la source de découverte.

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

    input.relations.sys_rel_source_info.source_feed Chaîne Toute chaîne qui est une sous-découverte/analyse dans 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.

    entrée.relations.type Chaîne Type de relation qui existe entre les éléments parent et enfant. 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 true, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur false, 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 : fusionner les éléments en double.
    • false : les éléments en double sont considérés comme des erreurs.

    Par défaut : true

    options.generate_summary Booléen Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus de détails sur les informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés.

    Valeurs valides :

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

    Valeur par défaut : false

    options.partial_commits Booléen Marqueur indiquant si la prise en charge partielle de la validation 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.

    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 :

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

    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 paramètre n’est source_recency_timestamp pas transmis sys_object_source_info, ne mettez pas à jour le champ d’heure de last_scan du sys_object_source.
    • faux : mettre à jour le champ d’heure de last_scan du 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 si la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci] doit être ignorée.
    Valeurs valides :
    • vrai : si last_discovered n’est pas fourni dans les valeurs de l’élément de charge utile, ne mettez pas à jour les champs discovery_source et last_discovered.
    • faux : mettre à 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"
      }
    ]
    <String>.additionalCommittedRelations Description d’un CI de relation dépendante qui n’était pas 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 comporte des avertissements.

    Type de données : booléennes

    <chaîne>.éléments 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" 
      }
    ]
    <String>.items.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 d’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"
      }
    ]
    <String>.items.additionalRelatedItems.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.additionalRelatedItems.inputIndices Valeurs d’index des CI du tableau de corps items de la demande qui correspondent à cet élément associé.

    Type de données : tableau de nombres

    <String>.items.additionalRelatedItems.mergedPayloadIds Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément associé.

    Type de données : tableau

    Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]

    <String>.items.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 : un CI existant a été mis à jour.

    Type de données : chaîne

    <String>.items.additionalRelatedItems.sysId Sys_id du CI qui a été mis à jour ou créé.

    Type de données : chaîne

    <String>.items.className Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour.

    Type de données : chaîne

    <String>.items.duplicateIndices Liste des index de CI qui sont des doublons de l’élément actuel.

    Type de données : tableau

    <String>.items.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.erreurs.erreur Type d’erreur rencontrée lors du traitement du CI.

    Type de données : chaîne

    <Chaîne>.éléments.erreurs.message Un message d’erreur est survenu lors du traitement du CI.

    Type de données : chaîne

    <String>.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" 
      }
    ]
    <String>.items.identificationAttempts.attemptResult Résultats de la tentative d’identification du CI.

    Valeurs possibles :

    • CORRESPONDANCE : identification réussie. Un CI unique a été trouvé dans la table de règles d’identificateur qui correspond 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 des règles d’identificateur 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’identificateur.
    • IGNORÉ : identification non tentée. Les attributs requis pour cette recherche dans la table des règles d’identificateur n’étant pas fournis, la règle n’a donc pas été appliquée.

    Type de données : chaîne

    <Chaîne>.éléments.identificationTentatives.attributs Liste des attributs d’entrée d’identificateur CI qui ont été utilisés au cours du processus d’identification.

    Type de données : tableau

    Les noms et les 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.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 recherché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.

    Type de données : chaîne

    Table : Entrée d’identificateur [cmdb_identifier_entry]

    <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>.éléments.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>.éléments.info.message Message qui fournit des informations supplémentaires sur le motif pour lequel la reclassification a été ignorée.

    Type de données : chaîne

    <String>.items.info.ruleSysId Sys_id de la règle de restriction de reclassification correspondante. 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

    <String>.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 connexes ou de recherche, il s’agit d’une liste d’objets JSON.

    Type de données : tableau de nombres

    <String>.items.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 : un 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 (classe ancêtre).
    • 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 descendante.
    • UPDATE_WITH_UPDRADE : le CI 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 Informations sur les éléments liés 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]
      }
    ]
    <String>.items.relatedItems.className Nom de classe/table (sys_class_name) de l’élément associé.

    Type de données : chaîne

    <String>.items.relatedItems.errorCount Nombre d’erreurs détectées lors du traitement des éléments connexes.

    Type de données : nombre

    <String>.items.relatedItems.errors 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

    <String>.items.relatedItems.errors.message Message d’erreur rencontré lors du traitement de l’élément connexe.

    Type de données : chaîne

    <String>.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 
      }
    ]
    <String>.items.relatedItems.inputIndices.mainIndex Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe.

    Type de données : nombre

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

    Type de données : nombre

    <String>.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

    <String>.items.relatedItems.operation Opération qui a eu lieu.

    Valeurs possibles :

    • INSERT : le 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 n’a été apporté.
    • MISE À JOUR : le CI connexe existant a été mis à jour.
    • UPDATE_WITH_DOWNGRADE : le CI connexe a été mis à jour et la classe a été remplacée par une classe plus générique (classe ancêtre).
    • UPDATE_WITH_SWITCH : le CI connexe a été mis à jour et la classe a été remplacée par une classe qui n’est ni ancêtre ni descendante.
    • UPDATE_WITH_UPDRADE : le CI connexe a été mis à jour et la classe a été remplacée par une classe plus spécialisée (classe descendante).

    Type de données : chaîne

    <String>.items.relatedItems.sysId Sys_id de l’élément connexe.

    Type de données : chaîne

    <String>.items.relatedItems.warningCount Nombre d’avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : nombre

    <String>.items.relatedItems.warnings Description des avertissements rencontrés lors du traitement des éléments connexes.

    Type de données : tableau d’objets

    "warnings": [
      {
        "error": "String",
        "message": "String"
      }
    ]
    <String>.items.relatedSysIds Liste des valeurs de sys_id des CI utilisés 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" 
      }
    ]
    <String>.relations.className 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

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

    Type de données : nombre

    <Chaîne>.relations.errors Liste qui décrit 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"
      }
    ]
    <String>.relations.inputIndices Index des objets CI de relation dépendante dans le tableau de 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 a connu des erreurs et a été inséré dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads].
    • INSERT_AS_PARTIAL : CI de relation dépendante a connu des erreurs et a été inséré dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads].
    • 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

    <String>.relations.sysId Sys_id du CI de relation dépendante.

    Type de données : chaîne

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

    Type de données : tableau

    <chaîne>.summary.<class_name> Statistiques d’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

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

    Type de données : nombre

    <String>.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 de charge utile partielle [cmdb_ire_partial_payloads].

    Type de données : nombre

    <String>.summary.<class_name>.skippedItemCount Nombre d’éléments ignorés.

    Type de données : nombre

    <String>.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

    <Chaîne>.summary.<class_name>.updatedItemCount Nombre d’éléments mis à jour.

    Type de données : nombre

    <String>.summary.<class_name>.warningCount Nombre d’éléments qui ont généré un avertissement lors de leur 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": {
        },
        "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" : "true",
            "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 = new JSON().encode(payload);
    var output = SNC.IdentificationEngineScriptableApi.identifyCIEnhanced('ServiceNow', input, {});

    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": []
    }  

    IdentificationEngineScriptableApi : runIdentificationAudit(GlideRecord now_GR)

    Exécute un audit d’identification sur 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. Utilisez cette méthode uniquement 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 si le serveur ne contient pas de tâches en double et crée une tâche de correction des doublons, le cas échéant.

    var grServer = new GlideRecord('cmdb_ci_server');
    grServer.query();
    while (grServer.next()) {
        SNC.IdentificationEngineScriptableApi.runIdentificationAudit(grServer);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode runIdentificationAudit(GlideRecord now_GR) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine incluse dans le périmètre correspondante : runIdentificationAudit(GlideRecord now_GR).