IdentificationEngine : délimité
L’API IdentificationEngine utilise le cadre de travail Identification et rapprochement pour minimiser la création d’éléments de configuration (CI) en double et pour rapprocher les attributs de CI en n’acceptant que les informations provenant de sources de données autorisées lors de la mise à jour du Base de données de gestion des configurations (CMDB).
Lorsque vous utilisez cette classe dans une application incluse dans le périmètre, utilisez l’identificateur d’espace de noms sn_cmdb.
IdentificationEngine : createOrUpdateCI(Source de chaîne, entrée de chaîne)
Insère ou met à jour les éléments de configuration (CI) et les non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) selon les règles d’identification et de CMDB rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB
Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| 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. |
| entrée.éléments | Tableau d'objets | Éléments à ajouter ou à mettre à jour. |
| Nom.classe.éléments.entrée | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage 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 de champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_objet_source_info | Objet | Identificateur de CI unique pour une source spécifique. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.lookup.sys_info_objet_source.nom_source | Chaîne | Source de données des informations 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 connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| 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 cmdb_ci ou non. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.related.sys_objet_source_info | Objet | Identificateur de CI unique pour une source spécifique. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_objet_source_info.nom_source | Chaîne | Source de données des informations 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 connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| entrée.éléments.paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de classification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisées pour cet élément. Valeurs valides :
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 :
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 :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur de CI unique pour une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.sys_objet_source_info.nom_source | Chaîne | Source de données des informations 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 connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. Les valeurs de chaque élément de référence sont renseignées avant d’identifier un CI à l’aide des règles IRE définies sur une classe. |
| 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 de la charge utile en entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index d’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 | L’élément internal_id enfant dans la relation (items, items.related ou items.lookup.) |
| entrée.relations.parent | Numéro | Index d’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 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 |
| 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 au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| 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 de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table cmdb_ci. |
| 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. |
| <Chaîne>.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 |
| <Chaîne>.éléments.additionalÉlémentsconnexes | Liste des informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile d’entrée. Ces éléments proviennent de charges utiles partielles. Ces informations ne sont pas renvoyées actuellement. Type de données : tableau d’objets |
| <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 |
| <Chaîne>.éléments.additionalRelatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <String>.items.additionalRelatedItems.inputIndices.mainIndex | Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire. Type de données : nombre |
| <Chaîne>.items.additionalRelatedItems.inputIndices.subIndex | Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe supplémentaire. Type de données : nombre |
| <Chaîne>.éléments.additionalRelatedItems.opération | Type d’opération. Valeurs possibles :
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 des 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 |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur survenue 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 |
| <Chaîne>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI utilisés au cours du processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <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 |
| <Chaîne>.items.identificationAttempts.searchOnTable | Nom de la table recherchée lors 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 |
| <chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. 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 d’une 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 |
| <String>.items.relatedItems | Liste qui fournit des informations sur les éléments connexes traités. Type de données : tableau d’objets |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément associé. Type de données : chaîne |
| <Chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs survenues pendant le traitement. Type de données : tableau d’objets |
| <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 |
| <String>.items.relatedItems.inputIndices.mainIndex | Valeur entière du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <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 |
| <Chaîne>.éléments.incidents.connexes.opération | Type d’opération. Valeurs possibles :
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 |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Valeur prise en charge uniquement : 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 :
Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de la relation dépendante. Type de données : chaîne |
L’exemple suivant montre comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_linux_server",
"operation": "NO_CHANGE",
"sysId": "440577800f321010150efc91ff767e94",
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
}
],
"info": [
{
"message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
"code": "SKIPPED_CLASS_SWITCH",
"ruleSysId": "b3d4b3800f321010150efc91ff767eab"
}
],
"errorCount": 0,
"warningCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": []
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
Vous trouverez ci-dessous comment mettre à jour un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}]},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"sysId": "d56ab6eadbd510102f67dfea5e96194e",
"relatedSysIds": [
"dd6af62adb1910102f67dfea5e96197f",
"996af62adb1910102f67dfea5e961980"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "dd6af62adb1910102f67dfea5e96197f",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "996af62adb1910102f67dfea5e961980",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"sysId": "116af62adb1910102f67dfea5e961981",
"relatedSysIds": [
"6d6af62adb1910102f67dfea5e961984"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "6d6af62adb1910102f67dfea5e961984",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"className": "cmdb_software_instance"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"attributes": [
"key"
],
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961985",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
2
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961989",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI dépendant.
var payload =
{items: [
{className:'cmdb_ci_web_server',
values: {name:'apache linux den 200',
running_process_command: 'xyz',
running_process_key_parameters: 'abc',
tcp_port:'3452'}},
{className:'cmdb_ci_linux_server',
values: {name:'lnux100', ram:'2048'}}],
relations:[{parent: 0, child: 1, type: 'Runs on::Runs'}]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_web_server",
"operation": "INSERT",
"sysId": "b9bb766adb1910102f67dfea5e961962",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_linux_server",
"operation": "INSERT",
"sysId": "a5bb766adb1910102f67dfea5e96195b",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "fdbb766adb1910102f67dfea5e961964",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI indépendant grâce à l’identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.createOrUpdateCI('ServiceNow', input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_netgear",
"operation": "INSERT",
"sysId": "787c7e6adb1910102f67dfea5e96196e",
"relatedSysIds": [
"f47c7e6adb1910102f67dfea5e961977",
"3c7c7e6adb1910102f67dfea5e961977"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "f47c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "3c7c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
IdentificationEngine : createOrUpdateCIEnhanced(Source de chaîne, Entrée de chaîne, Options de l’objet)
Insère ou met à jour les éléments de configuration (CI) et les non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) selon les règles d’identification et de CMDB rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB
- Gestion des charges utiles partielles
- Gestion des validations partielles
- Suppression des éléments en double dans une charge utile
- Génération de résumés de sortie
Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| 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. |
| entrée.éléments | Tableau d'objets | Éléments à ajouter ou à mettre à jour. |
| Nom.classe.éléments.entrée | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage 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 de champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_objet_source_info | Objet | Définit un identificateur de 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. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.lookup.sys_info_objet_source.nom_source | Chaîne | Source de données des informations 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 de clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date/heure UTC à 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 du champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée. Les noms et types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Connexes | Tableau d'objets | 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 cmdb_ci ou non. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut être n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_objet_source_info | Objet | Objet qui constitue un identificateur de 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. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_objet_source_info.nom_source | Chaîne | Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table É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 : |
| Entrée.Éléments.Valeurs.connexes | Objet | Champs à créer ou mettre à jour pour cet élément connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| entrée.éléments.paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de classification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisées pour cet élément. Valeurs valides :
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 :
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 :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur de CI unique pour une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.sys_objet_source_info.nom_source | Chaîne | Source de données des informations 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 connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. Les valeurs de chaque élément de référence sont renseignées avant d’identifier un CI à l’aide des règles IRE définies sur une classe. |
| 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 de la charge utile en entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index d’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 | L’élément internal_id enfant dans la relation (items, items.related ou items.lookup.) |
| entrée.relations.parent | Numéro | Index d’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 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 |
| 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 au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| 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 | Booléen | Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs. Valeurs valides :
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 de retour. Valeurs valides :
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 :
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 :
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 :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci]. Valeurs valides :
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 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]. |
| 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 |
| <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 |
| <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 |
| <Chaîne>.additionalCommittedItems.errors.error | Type d’erreur survenue 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 |
| <Chaîne>.additionalCommittedItems.identificationAttempts.attemptResult | Résultat de cette tentative d’identification de CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <Chaîne>.additionalCommittedItems.identificationAttempts.attributes | Attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <Chaîne>.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 types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <Chaîne>.additionalCommittedItems.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.identificationAttempts.searchOnTable | Nom de la table recherchée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.identifierEntrySysId | Sys_id 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. |
| <String>.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 |
| <Chaîne>.additionalCommittedItems.markers | Valeurs du marqueur pour une utilisation interne. Type de données : tableau |
| <Chaîne>.additionalCommittedItems.mergedPayloads | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE de la CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pendant le traitement de ce CI supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedItems.operation | Opération exécutée pour ce CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <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 |
| <Chaîne>.additionalCommittedItems.warnings.error | Type d’avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.warnings.message | Message d’avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <Chaîne>.additionalCommittedRelations.className | Le sys_class_name de ce CI de relation dépendante supplémentaire. Type de données : chaîne Valeur prise en charge uniquement : cmdb_rel_ci : table Relations CI. |
| <Chaîne>.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 |
| <Chaîne>.additionalCommittedRelations.errors.error | Type d’erreur survenue 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 corps relations de la demande qui correspondent à ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedRelations.markers | Valeurs du marqueur pour une utilisation interne. Type de données : tableau |
| <Chaîne>.additionalCommittedRelations.mergedPayloadIds | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE de la CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI. qui ont été fusionnées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <Chaîne>.additionalCommittedRelations.operation | Opération qui a été effectuée pour le CI de relation dépendante supplémentaire. Valeurs possibles :
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 |
| <Chaîne>.éléments.additionalÉlémentsconnexes | 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 |
| <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 |
| <Chaîne>.éléments.additionalRelatedItems.inputIndices | Valeurs d’index pour les 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 connexe. Type de données : tableau Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] |
| <Chaîne>.éléments.additionalRelatedItems.opération | Type d’opération. Valeurs possibles :
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 des 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 |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur survenue 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 |
| <Chaîne>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI utilisés au cours du processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>items.identificationAttempts.hybridEntryCiAttributes | Liste des attributs d’entrée d’identificateur CI utilisés au cours du processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <Chaîne>.items.identificationAttempts.searchOnTable | Nom de la table recherchée lors 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 comportait des erreurs et a été enregistré comme charge utile incomplète, ce paramètre contient le sys_id de l’enregistrement dans la table Charges utiles incomplètes [cmdb_ire_incomplete_payloads] IRE de CMDB. Type de données : chaîne |
| <String>.items.info | Informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. 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 d’une 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 associés 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 :
Type de données : chaîne |
| <String>.items.partialSysIds | Si l’élément comportait des erreurs et a été enregistré en tant que charge utile partielle, ce paramètre contient le sys_id de l’enregistrement de charge utile partielle. Type de données : chaîne |
| <String>.items.relatedItems | Liste des objets JSON qui décrivent un CI connexe (CI de recherche de table) à partir du tableau du corps items.lookup de la demande. Type de données : tableau d’objets |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément associé. Type de données : chaîne |
| <Chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs survenues lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <Chaîne>.éléments.éléments.connexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <Chaîne>.éléments.éléments.connexes.erreurs.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 en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table des charges utiles incomplètes [cmdb_ire_incomplete_payloads] IRE de la CMDB. 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 |
| <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 du 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 au cours du traitement. Type de données : tableau |
| <Chaîne>.éléments.incidents.connexes.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <String>.items.relatedItems.partialSysIds | Si l’élément associé comportait des erreurs et a été enregistré en tant que charge utile partielle, cette liste contient la liste des sys_ids des enregistrements associés dans la table Charges utiles partielles [cmdb_ire_partial_payloads] IRE de la CMDB. 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 |
| <Chaîne>.éléments.élémentsconnexes.avertissements | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <Chaîne>.éléments.éléments.connexes.avertissements.erreur | Type d’avertissement rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <Chaîne>.éléments.éléments.connexes.avertissements.message | Message associé à l’avertissement. Type de données : chaîne |
| <String>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification des éléments connexes basée sur la recherche. 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 |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Valeur prise en charge uniquement : 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 |
| <chaîne>.relations.errors.error | Type d’erreur survenue lors du traitement du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.relations.errors.message | Un message d’erreur est survenu 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 en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table des charges utiles incomplètes [cmdb_ire_incomplete_payloads] IRE de la CMDB. Type de données : chaîne |
| <String>.relations.inputIndices | 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. Type de données : tableau |
| <Chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <String>.relations.partialSysIds | Si la relation comportait des erreurs et a été enregistrée en tant que charge utile partielle, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles partielles [cmdb_ire_partial_payloads] IRE de la CMDB. Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de la 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 pour une classe spécifique. Type de données : objet |
| <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 |
| <Chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE de la CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <Chaîne>.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 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 |
| <Chaîne>.summary.<class_name>.warningCount | Nombre d’éléments qui ont généré un avertissement lors du traitement. Type de données : nombre |
Cet exemple montre comment importer plusieurs entrées CI.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}],
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify((payload));
var output = sn_cmdb.IdentificationEngine.createOrUpdateCIEnhanced('ServiceNow', input, {});
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "NO_CHANGE",
"sysId": "65d873d2b3a0001028f6eae2c6a8dc2a",
"relatedSysIds": [
"a1d873d2b3a0001028f6eae2c6a8dc32",
"a1d873d2b3a0001028f6eae2c6a8dc33"
],
"relatedItems": [
{
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc32",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}]
},
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc33",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}]
}],
"additionalRelatedItems": [],
"identificationAttempts": [],
"errorCount": 0,
"inputIndices": [0]
},
{
"className": "cmdb_ci_spkg",
"operation": "NO_CHANGE",
"sysId": "c764e971b320001028f6eae2c6a8dc44",
"relatedSysIds": [
"8b64e971b320001028f6eae2c6a8dc47"
],
"relatedItems": [
{
"className": "cmdb_software_instance",
"sysId": "8b64e971b320001028f6eae2c6a8dc47",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}]
}],
"additionalRelatedItems": [],
"identifierEntrySysId": "a52a87c03746220006b216a543990e8c",
"identificationAttempts": [
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}],
"errorCount": 0,
"inputIndices": [1]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "6f29f3d2b3a0001028f6eae2c6a8dcc6",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"attributes": [
"install_directory",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Tomcat",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_app_server_tomcat",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"cl_port",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"running_process_command",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"inputIndices": [2]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "6729f3d2b3a0001028f6eae2c6a8dcc9",
"errorCount": 0,
"inputIndices": [0]
}],
"additionalCommittedRelations": []
}
IdentificationEngine : identifyCI(String jsonString)
Détermine l’opération (insérer/mettre à jour) à effectuer avec la charge utile spécifiée sans valider l’opération dans la base de données.
Cela fonctionne comme createOrUpdateCI(), mais ne valide pas le résultat.
| Nom | Type | Description |
|---|---|---|
| chaîne jsonString | 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 :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
| 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 :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
L’exemple suivant montre comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.identifyCI(input);
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_linux_server",
"operation": "NO_CHANGE",
"sysId": "440577800f321010150efc91ff767e94",
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
}
],
"info": [
{
"message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
"code": "SKIPPED_CLASS_SWITCH",
"ruleSysId": "b3d4b3800f321010150efc91ff767eab"
}
],
"errorCount": 0,
"warningCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": []
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
IdentificationEngine : identifyCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)
Détermine l’opération Base de données de gestion des configurations (CMDB) (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.
Utilisez cette méthode pour simuler la soumission d’une charge utile.
- 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é.
| 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. |
| entrée.éléments | Tableau d'objets | Éléments à ajouter ou à mettre à jour. |
| Nom.classe.éléments.entrée | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage 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 de champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_objet_source_info | Objet | Définit un identificateur de 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. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.lookup.sys_info_objet_source.nom_source | Chaîne | Source de données des informations 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 de clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date/heure UTC à 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 du champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée. Les noms et types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Connexes | Tableau d'objets | 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 cmdb_ci ou non. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut être n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_objet_source_info | Objet | Objet qui constitue un identificateur de 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. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_objet_source_info.nom_source | Chaîne | Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table É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 : |
| Entrée.Éléments.Valeurs.connexes | Objet | Champs à créer ou mettre à jour pour cet élément connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| entrée.éléments.paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de classification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisées pour cet élément. Valeurs valides :
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 :
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 :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur de CI unique pour une source spécifique. |
| input.items.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.sys_objet_source_info.nom_source | Chaîne | Source de données des informations 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 connexe sous forme de paires nom/valeur, où le nom est le nom du 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 types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments dans la charge utile d’entrée. Les valeurs de chaque élément de référence sont renseignées avant d’identifier un CI à l’aide des règles IRE définies sur une classe. |
| 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 de la charge utile en entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index d’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 | L’élément internal_id enfant dans la relation (items, items.related ou items.lookup.) |
| entrée.relations.parent | Numéro | Index d’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 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 |
| 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 au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| 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 | Booléen | Marqueur indiquant si les éléments en double sont fusionnés ou considérés comme des erreurs. Valeurs valides :
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 de retour. Valeurs valides :
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 :
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 :
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 :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci]. Valeurs valides :
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 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]. |
| 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 |
| <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 |
| <Chaîne>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <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 |
| <Chaîne>.éléments.additionalÉlémentsconnexes | 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 |
| <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 |
| <Chaîne>.éléments.additionalRelatedItems.inputIndices | Valeurs d’index pour les 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 connexe. Type de données : tableau Table : charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] |
| <Chaîne>.éléments.additionalRelatedItems.opération | Type d’opération. Valeurs possibles :
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 des 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 |
| <Chaîne>.éléments.erreurs.erreur | Type d’erreur survenue lors du traitement du CI. Type de données : chaîne |
| <Chaîne>.éléments.erreurs.message | Message d’erreur rencontré 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 |
| <Chaîne>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <Chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur CI utilisés au cours du processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <Chaîne>.items.identificationAttempts.searchOnTable | Nom de la table recherchée lors 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 |
| <chaîne>.éléments.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. 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 d’une 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 associés 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 :
Type de données : chaîne |
| <String>.items.relatedItems | Informations sur les éléments connexes traités. Type de données : tableau d’objets |
| <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 |
| <Chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs survenues lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <Chaîne>.éléments.éléments.connexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <Chaîne>.éléments.éléments.connexes.erreurs.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 |
| <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 du 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 au cours du traitement. Type de données : tableau |
| <Chaîne>.éléments.incidents.connexes.opération | Opération qui a eu lieu. Valeurs possibles :
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 |
| <Chaîne>.éléments.élémentsconnexes.avertissements | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <String>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification des éléments connexes basée sur la recherche. 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 |
| <String>.relations.className | Sys_class_name de ce CI de relation dépendante. Valeur prise en charge uniquement : 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 |
| <String>.relations.inputIndices | 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. Type de données : tableau |
| <Chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de la 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 pour une classe spécifique. Type de données : objet |
| <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 |
| <Chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE de la CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <Chaîne>.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 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 |
| <Chaîne>.summary.<class_name>.warningCount | Nombre d’éléments qui ont généré un avertissement lors du traitement. Type de données : nombre |
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}},
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229"
}}
],
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = JSON.stringify(payload);
var output = sn_cmdb.IdentificationEngine.identifyCIEnhanced('ServiceNow', input, {});
gs.info(JSON.stringify(JSON.parse(output), null, 2));
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"relatedSysIds": [
null,
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"mac_address",
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"relatedSysIds": [
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_software_instance",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"warnings": [
{
"error": "MISSING_MATCHING_ATTRIBUTES",
"message": "In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [cmdb_software_instance]. Add these input values in payload item '{\"className\":\"cmdb_software_instance\",\"values\":{},\"internal_id\":\"f7273cccec30101056cd4bb46eb4db5d\",\"sys_object_source_info\":{\"source_feed\":\"SN Discovery Feed 1\",\"source_name\":\"ServiceNow\",\"source_native_key\":\"Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229\"},\"settings\":{},\"sys_ire_info\":{\"ire_received_time\":\"2020-05-10 17:57:48\"}}'"
}
],
"operation": "INSERT_AS_PARTIAL",
"className": "cmdb_software_instance",
"errorCount": 0,
"sysId": "Unknown",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 1
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
1
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
2
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedRelations": []
}
IdentificationEngine : runIdentificationAudit(GlideRecord now_GR)
Exécute un audit d’identification par rapport à l’élément de configuration (CI) spécifié pour détecter les doublons.
Si des doublons sont trouvés, des tâches de duplication sont créées. Utilisez cette méthode uniquement sur les types de CI avec des règles d’identification indépendantes.
| 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. |
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment vérifier les doublons d’un enregistrement dans la table Serveurs Linux [cmdb_ci_linux_server].
var sysId = '<cbdb_ci_sys_id>';
var gr = new GlideRecord('cmdb_ci_linux_server');
gr.get(sysId);
sn_cmdb.IdentificationEngine.runIdentificationAudit(gr);