IdentificationEngineScriptableApi : global
IdentificationEngineScriptableApi utilise le cadre de travail Identification et réconciliation pour minimiser la création d’éléments de configuration (CI) en double et pour rapprocher les attributs de CI en acceptant uniquement 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)fichier .
IdentificationEngineScriptableApi : createOrUpdateCI (source de chaîne, entrée de chaîne)
Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le basé sur des CMDB règles d’identification et de réconciliation. Utilisez cette API au lieu de la mettre à jour CMDB directement.
Vous devez transmettre les CI non CMDB en tant qu’éléments connexes ou de recherche dans la charge utile IRE. Pour plus d’informations sur l’ingestion de tables non CMDB, consultez IRE support for non-CMDB tables.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| éléments d’entrée | Tableau | Tableau d’objets qui définit les éléments à ajouter ou à mettre à jour. |
| input.items.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou à mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau | 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Identificateur 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_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| Éléments.Recherche.Valeurs | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.related | 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 pouvant figurer dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Identificateur 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_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| valeurs.connexes.éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| É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 les versions antérieures 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 si la classe peut être changée. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_objet_source_info | Objet | Identificateur 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_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Éléments input.referenceItems | Tableau | Tableau d’objets qui définissent les références entre les éléments de la charge utile d’entrée. |
| 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/table pour l’élément referencedBy . |
| relations.entrées | Tableau | Tableau d’objets qui spécifient les relations entre les éléments de la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats suivants.
|
| Entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | Le internal_id de l’élément parent dans la relation (items, items.related ou items.lookup). |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de détection pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relation [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() ). Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de détection. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-détection/analyse au sein de la source de détection. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrées | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| source | Chaîne | Identifie la source de données des informations du 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 items et relations contient des paires nom-valeur. Type de données : chaîne |
| <chaîne>.additionalCommittedItems | Aucune valeur n’est actuellement renvoyée. |
| <chaîne>.additionalCommittedRelations | Aucune valeur n’est actuellement renvoyée. |
| <chaîne>.éléments | Liste d’objets qui décrivent les CI créés ou mis à jour. Type de données : tableau |
| <chaîne>.items.additionalRelatedItems | Liste des objets JSON qui fournit 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 actuellement renvoyées. Type de données : tableau |
| <chaîne>.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>.items.additionalRelatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : Tableau de nombres ou Tableau d’objets |
| <chaîne>.items.additionalRelatedItems.inputIndices.mainIndex | Valeur d’index du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire. Type de données : nombre |
| <chaîne>.items.additionalRelatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande qui correspond à l’élément connexe supplémentaire. Type de données : nombre |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.additionalRelatedItems.sysId | Sys_id des éléments connexes supplémentaires. Type de données : chaîne |
| <chaîne>.items.nomdeclasse | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndex | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs. Type de données : nombre |
| <chaîne>.éléments.erreurs | Tableau d’objets dans lequel chaque objet décrit une erreur rencontrée lors du traitement de ce CI. Type de données : tableau |
| <chaîne>.éléments.errors.error | Type d’erreur survenu lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <String>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.identificationAttempts.attributes | Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.hybridEntryCiAttributes | Aucune valeur n’est actuellement renvoyée. |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table faisant l’objet de la recherche au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.info | Liste des objets qui contiennent des informations supplémentaires sur le traitement de l’élément. Type de données : tableau |
| <chaîne>.items.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 |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque le moteur IRE ignore la reclassification en raison de la règle de restriction de classification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndex | Valeurs d’index des CI du tableau de corps items de la demande correspondant à ce CI. Type de données : tableau |
| <chaîne>.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.relatedItems | Liste des objets JSON qui fournit des informations sur les éléments connexes traités. Type de données : tableau |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.errors | Liste des erreurs qui se sont produites pendant le traitement. Type de données : tableau |
| <String>.items.relatedItems.errorCount | Nombre d’erreurs détectées pendant le traitement. Type de données : nombre |
| <chaîne>.items.relatedItems.inputIndices | Index des éléments connexes correspondants. Type de données : tableau ou nombres |
| <chaîne>.items.relatedItems.inputIndices.mainIndex | Valeur entière du tableau de corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <chaîne>.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.élémentsconnexes.opération | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id pour les éléments connexes (éléments de recherche de table) du tableau de corps items.lookup de la demande. Valeurs notables : nul : aucune sys_id n’a été identifiée pour cet élément connexe. Type de données : tableau |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Liste des objets JSON qui fournit des informations sur les relations traitées. Type de données : tableau |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : Table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs. Type de données : nombre |
| <chaîne>.relations.inputIndex | 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 |
Les instructions suivantes montrent comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = new JSON().encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_linux_server",
"operation": "NO_CHANGE",
"sysId": "440577800f321010150efc91ff767e94",
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
}
],
"info": [
{
"message": "CI Reclassification not allowed from class: [cmdb_ci_linux_server] to [cmdb_ci_win_server] by a reclassification restriction rule",
"code": "SKIPPED_CLASS_SWITCH",
"ruleSysId": "b3d4b3800f321010150efc91ff767eab"
}
],
"errorCount": 0,
"warningCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": []
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}]},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"sysId": "d56ab6eadbd510102f67dfea5e96194e",
"relatedSysIds": [
"dd6af62adb1910102f67dfea5e96197f",
"996af62adb1910102f67dfea5e961980"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "dd6af62adb1910102f67dfea5e96197f",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "996af62adb1910102f67dfea5e961980",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"sysId": "116af62adb1910102f67dfea5e961981",
"relatedSysIds": [
"6d6af62adb1910102f67dfea5e961984"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "6d6af62adb1910102f67dfea5e961984",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"className": "cmdb_software_instance"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"attributes": [
"key"
],
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961985",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
2
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "e96af62adb1910102f67dfea5e961989",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI dépendant.
var payload =
{items: [
{className:'cmdb_ci_web_server',
values: {name:'apache linux den 200',
running_process_command: 'xyz',
running_process_key_parameters: 'abc',
tcp_port:'3452'}},
{className:'cmdb_ci_linux_server',
values: {name:'lnux100', ram:'2048'}}],
relations:[{parent: 0, child: 1, type: 'Runs on::Runs'}]
};
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceWatch', input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_web_server",
"operation": "INSERT",
"sysId": "b9bb766adb1910102f67dfea5e961962",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
},
{
"className": "cmdb_ci_linux_server",
"operation": "INSERT",
"sysId": "a5bb766adb1910102f67dfea5e96195b",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
1
]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "fdbb766adb1910102f67dfea5e961964",
"identifierEntrySysId": "Unknown",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedRelations": []
}
Identifiez un CI indépendant avec une identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_netgear",
"operation": "INSERT",
"sysId": "787c7e6adb1910102f67dfea5e96196e",
"relatedSysIds": [
"f47c7e6adb1910102f67dfea5e961977",
"3c7c7e6adb1910102f67dfea5e961977"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "f47c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "3c7c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
Équivalent dans le champ d’application
Pour utiliser la méthode createOrUpdateCI(String source, String input) dans une application incluse dans le périmètre, utilisez la méthode du moteur d’identification incluse dans le périmètre correspondante : createOrUpdateCI( String source, String input).
IdentificationEngineScriptableApi - createOrUpdateCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)
Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le basé sur des CMDB règles d’identification et de réconciliation. Utilisez cette API au lieu de la mettre à jour CMDB directement.
Vous devez transmettre les CI non CMDB en tant qu’éléments connexes ou de recherche dans la charge utile IRE. Pour plus d’informations sur l’ingestion de tables non CMDB, consultez IRE support for non-CMDB tables.
- 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, consultez IRE support for non-CMDB tables.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| éléments d’entrée | Tableau | Tableau d’objets qui définit les éléments à ajouter ou à mettre à jour. |
| input.items.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou à mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau | 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.lookup.sys_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | ID de clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| É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 le sys_id référencé. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.related | 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 pouvant figurer dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| 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 pour cet élément connexe dans cette charge utile. Peut prendre n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_object_source_info.source_name | Chaîne | Identifie la source de données des informations du 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é scanné. Format : |
| valeurs.connexes.éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| É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 les versions antérieures 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 si la classe peut être 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_objet_source_info | Objet | Identificateur 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_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Éléments input.referenceItems | Tableau | Tableau d’objets qui définissent les références entre les éléments de la charge utile d’entrée. |
| 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/table pour l’élément referencedBy . |
| relations.entrées | Tableau | Tableau d’objets qui spécifient les relations entre les éléments de la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats suivants.
|
| Entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | Le internal_id de l’élément parent dans la relation (items, items.related ou items.lookup). |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de détection pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relation [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() ). Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de détection. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-détection/analyse au sein de la source de détection. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrées | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque :
Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité des 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 :
Valeur par défaut : true |
| options.generate_summary | Booléen | Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus d’informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés. Valeurs valides :
Valeur par défaut : false |
| options.partial_commits | Booléen | Marqueur indiquant si la prise en charge de la validation partielle est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées. Valeurs valides :
Valeur par défaut : true |
| options.partial_payloads | Booléen | Marqueur indiquant si la prise en charge partielle de la charge utile 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 :
Valeur par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant si la mise à jour du champ d’heure de last_scan du sys_object_source doit être ignorée. 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 si la mise à jour des champs discovery_source et last_discovered doit être ignorée 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 sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| 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 |
| <chaîne>.additionalCommittedItems.className | Sys_class_name de ce CI supplémentaire. Type de données : chaîne |
| <Chaîne>.additionalCommittedItems.errorCount | Nombre d’erreurs rencontrées lors du traitement de ce CI supplémentaire. Type de données : nombre |
| <chaîne>.additionalCommittedItems.errors | Tableau d’objets 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 |
| <chaîne>.additionalCommittedItems.identificationAttempts | Tableau d’objets dans lequel chaque objet décrit une tentative d’identification de ce CI supplémentaire. Type de données : tableau |
| <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 | Tableau des attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes | Tableau des attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.additionalCommittedItems.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <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 de la règle d’identificateur utilisée pour identifier ce CI supplémentaire. Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus. |
| <chaîne>.additionalCommittedItems.inputIndex | Tableau des 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 |
| <chaîne>.additionalCommittedItems.markers | Tableau de valeurs de marqueurs pour une utilisation interne. Type de données : tableau |
| <String>.additionalCommittedItems.mergedPayloads | Tableau de valeurs sys_id pour les charges utiles partielles de la table Charges utiles partielles [cmdb_ire_partial_payloads] IRE CMDB qui ont été fusionnées pendant le traitement de ce CI supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedItems.operation | Opération exécutée pour ce CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <chaîne>.additionalCommittedItems.sysId | Sys_id trouvé pour ce CI supplémentaire par 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. |
| <String>.additionalCommittedItems.warnings | Tableau d’objets décrivant un avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedItems.warnings.error | Type d’avertissement rencontré pendant le 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 | Tableau d’objets qui décrivent un CI de relation dépendant 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 |
| <chaîne>.additionalCommittedRelations.className | sys_class_name de ce CI de relation dépendante supplémentaire. Type de données : chaîne Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. |
| <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 | Tableau d’objets qui décrivent les erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <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 | Message d’erreur rencontré lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedRelations.inputIndex | Valeurs d’index pour les objets CI de relation dépendante dans le tableau de corps relations de demande qui correspondent à ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedRelations.markers | Valeurs de marqueur pour une utilisation interne. Type de données : tableau |
| <String>.additionalCommittedRelations.mergedPayloadIds | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI.qui ont été fusionnées pendant le traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedRelations.operation | Opération exécuté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 a des avertissements. Type de données : booléennes |
| <chaîne>.éléments | Tableau d’objets qui décrit les CI créés ou mis à jour. Type de données : tableau |
| <chaîne>.items.additionalRelatedItems | Liste des objets JSON qui fournissent 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. Type de données : tableau |
| <chaîne>.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>.items.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau de corps items de la demande correspondant à cet élément connexe. Type de données : tableau de nombres |
| <chaîne>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]. Type de données : tableau |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.items.nomdeclasse | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndex | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <chaîne>.éléments.erreurs | Tableau d’objets dans lequel chaque objet décrit une erreur rencontrée lors du traitement de ce CI. Type de données : tableau |
| <chaîne>.éléments.errors.error | Type d’erreur survenu lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <String>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.identificationAttempts.attributes | Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>items.identificationAttempts.hybridEntryCiAttributes | Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table faisant l’objet de la recherche au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.incompleteSysIds | Si l’élément a connu des erreurs et a été enregistré en tant que charge utile incomplète, ce paramètre contient la sys_id de l’enregistrement dans la table Charges utiles incomplètes [cmdb_ire_incomplete_payloads] IRE CMDB. Type de données : chaîne |
| <chaîne>.items.info | Liste d’objets contenant des informations supplémentaires sur le traitement de l’élément. Type de données : tableau |
| <chaîne>.items.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 |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque le moteur IRE ignore la reclassification en raison de la règle de restriction de classification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndex | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <chaîne>.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 |
| <chaîne>.items.partialSysIds | Si l’élément a connu des erreurs et a été enregistré en tant que charge utile partielle, ce paramètre contient la sys_id de l’enregistrement de charge utile partielle. Type de données : chaîne |
| <chaîne>.éléments.relatedItems | Liste des objets JSON qui décrivent un CI connexe (CI de recherche de table) à partir du tableau de corps items.lookup de la demande. Type de données : tableau |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.errors | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur survenue lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <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.relatedItems.incompleteSysIds | Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] de la CMDB. Type de données : chaîne |
| <chaîne>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : Tableau de nombres ou Tableau d’objets |
| <chaîne>.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 |
| <chaîne>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.relatedItems.partialSysIds | Si l’élément connexe a connu des erreurs et a été enregistré en tant que charge utile partielle, il contient une liste des sys_ids des enregistrements associés dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]. Type de données : tableau |
| <chaîne>.items.relatedItems.sysId | sys_id de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.items.relatedItems.warnings | Tableau d’objets décrivant un avertissement rencontré lors du traitement des éléments connexes. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes.avertissements.erreur | Type d’avertissement rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.relatedItems.warnings.message | Message associé à l’avertissement. Type de données : chaîne |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Liste des objets JSON qui décrivent un CI de relation dépendant à partir du tableau de corps relations de la demande. Type de données : tableau |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : Table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de la relation dépendante. Type de données : nombre |
| <chaîne>.relations.erreurs | Tableau d’objets qui décrivent les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau |
| <chaîne>.relations.errors.error | Type d’erreur survenue lors du traitement du CI de la relation dépendante. Type de données : chaîne |
| <chaîne>.relations.errors.message | Message d’erreur rencontré lors du traitement de ce CI de relation dépendante. Type de données : chaîne |
| <String>.relations.incompleteSysIds | Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] de la CMDB. Type de données : chaîne |
| <chaîne>.relations.inputIndex | 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 comporte 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 IRE CMDB [cmdb_ire_partial_payloads]. 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, etc., par classe. Type de données : tableau |
| <Chaîne>.résumé.<class_name> | Statistiques pour une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement des charges utiles partielles. Type de données : nombre |
| <chaîne>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.skippedItemCount | Nombre d’éléments qui ont été ignorés. Type de données : nombre |
| <chaîne>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <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 ayant généré un avertissement lors du traitement. Type de données : nombre |
Identifiez un CI dépendant.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}}]
"settings" : {
"skipReclassificationRestrictionRules" : "false",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = new JSON().encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCIEnhanced('ServiceNow', input, {});
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "NO_CHANGE",
"sysId": "65d873d2b3a0001028f6eae2c6a8dc2a",
"relatedSysIds": [
"a1d873d2b3a0001028f6eae2c6a8dc32",
"a1d873d2b3a0001028f6eae2c6a8dc33"
],
"relatedItems": [
{
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc32",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}]
},
"className": "cmdb_serial_number",
"sysId": "a1d873d2b3a0001028f6eae2c6a8dc33",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}]
}],
"additionalRelatedItems": [],
"identificationAttempts": [],
"errorCount": 0,
"inputIndices": [0]
},
{
"className": "cmdb_ci_spkg",
"operation": "NO_CHANGE",
"sysId": "c764e971b320001028f6eae2c6a8dc44",
"relatedSysIds": [
"8b64e971b320001028f6eae2c6a8dc47"
],
"relatedItems": [
{
"className": "cmdb_software_instance",
"sysId": "8b64e971b320001028f6eae2c6a8dc47",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}]
}],
"additionalRelatedItems": [],
"identifierEntrySysId": "a52a87c03746220006b216a543990e8c",
"identificationAttempts": [
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "MATCHED",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}],
"errorCount": 0,
"inputIndices": [1]
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"sysId": "6f29f3d2b3a0001028f6eae2c6a8dcc6",
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"attributes": [
"install_directory",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Tomcat",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_app_server_tomcat",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"cl_port",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"running_process_command",
"running_process_key_parameters",
"sys_class_name"
],
"identifierName": "Application Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_appl",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"inputIndices": [2]
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"sysId": "6729f3d2b3a0001028f6eae2c6a8dcc9",
"errorCount": 0,
"inputIndices": [0]
}],
"additionalCommittedRelations": []
}
IdentificationEngineScriptableApi : identifyCI(String jsonString)
Détermine l’opération (insertion/mise à jour) à effectuer avec la charge utile spécifiée sans valider l’opération dans la base de données.
Cela fonctionne de la même manière que createOrUpdateCI(), mais ne valide pas le résultat.
| Nom | Type | Description |
|---|---|---|
| jsonString | Chaîne | Chaîne au format JSON des éléments de configuration à ajouter ou à mettre à jour. Chaque chaîne d’entrée est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste d’éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste de 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 items et relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste d’éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste de relations sont les suivantes :
|
Identifiez un CI indépendant avec une identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
var output = SNC.IdentificationEngineScriptableApi.identifyCI(input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_netgear",
"operation": "UPDATE",
"sysId": "55b35562c0a8010e01cff22378e0aea9",
"relatedSysIds": [
null,
null
],
"relatedItems": [
{
"errors": [
],
"operation": "INSERT",
"info": [
],
"errorCount": 0,
"mergedPayloadIds": [
],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"warningCount": 0,
"markers": [
],
"className": "cmdb_serial_number"
},
{
"errors": [
],
"operation": "INSERT",
"info": [
],
"errorCount": 0,
"mergedPayloadIds": [
],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"warningCount": 0,
"markers": [
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "556eb250c3400200d8d4bea192d3ae92",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [
"source_name",
"source_native_key"
],
"searchOnTable": "sys_object_source",
"hybridEntryCiAttributes": [
]
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": [
]
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": [
]
},
{
"identifierName": "Hardware Rule",
"attemptResult": "MATCHED",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": [
]
}
],
"info": [
],
"errorCount": 0,
"mergedPayloadIds": [
],
"inputIndices": [
0
],
"warningCount": 0,
"markers": [
]
}
],
"additionalCommittedItems": [
],
"relations": [
],
"additionalCommittedRelations": [
],
"hasError": false,
"hasWarning": false
}
Équivalent dans le champ d’application
Pour utiliser la méthode identifyCI(String jsonString) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine incluse dans le périmètre correspondante : identifyCI(String jsonString).
IdentificationEngineScriptableApi : identifyCIEnhanced(source de chaîne, entrée de chaîne, options d’objet)
Détermine l’opération Base de données de gestion des configurations (CMDB) (insertion/mise à jour) à effectuer avec la charge utile spécifiée (corps de la demande), sans valider les opérations dans la base de données.
Utilisez cette méthode pour simuler la soumission d’une charge utile.
- Charges utiles partielles
- Dans le cas d’un avertissement ou d’une erreur pour un élément, indique si une opération d’élément est INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
- Renvoie la sys_ids des charges utiles partielles qui ont été fusionnées avec les charges utiles partielles existantes.
- Prend en charge la fonctionnalité de déduplication de charge utile.
- Génère un résumé.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| éléments d’entrée | Tableau | Tableau d’objets qui définit les éléments à ajouter ou à mettre à jour. |
| input.items.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objet | Champs de référence à créer ou à mettre à jour pour cet élément connexe en tant que paires nom-valeur, où le nom est le nom du champ et la valeur est la valeur d’affichage référencée. Si vous souhaitez utiliser le sys_id au lieu de la valeur d’affichage pour les champs de référence, transmettez les informations dans le input.items.lookup.values paramètre plutôt que dans ce paramètre. Les noms 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau | 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. Cette valeur peut être n’importe laquelle, mais doit être unique dans la charge utile. |
| input.items.lookup.sys_object_source_info | Objet | Définit un identificateur CI unique pour une source de données spécifique. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.lookup.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.lookup.sys_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Chaîne | ID de clé unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| É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 le sys_id référencé. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.related | 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 pouvant figurer dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| 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 pour cet élément connexe dans cette charge utile. Peut prendre n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_object_source_info.source_name | Chaîne | Identifie la source de données des informations du 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é scanné. Format : |
| valeurs.connexes.éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| É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 les versions antérieures 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 si la classe peut être 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_objet_source_info | Objet | Identificateur 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_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été scanné. Format : AAAA-MM-JJ hh :mm :ss |
| éléments.entrées | Objet | Champs à créer ou à mettre à jour pour cet élément connexe en tant que 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 du sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Éléments input.referenceItems | Tableau | Tableau d’objets qui définissent les références entre les éléments de la charge utile d’entrée. |
| 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/table pour l’élément referencedBy . |
| relations.entrées | Tableau | Tableau d’objets qui spécifient les relations entre les éléments de la charge utile d’entrée. Un objet de ce tableau peut utiliser l’un des deux formats suivants.
|
| Entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | Le internal_id de l’élément enfant dans la relation (items, items.related ou items.lookup). |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | Le internal_id de l’élément parent dans la relation (items, items.related ou items.lookup). |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de détection pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relation [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() ). Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de détection. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-détection/analyse au sein de la source de détection. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrées | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque :
Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité des 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 :
Valeur par défaut : true |
| options.generate_summary | Booléen | Marqueur indiquant si les résultats renvoyés contiennent des informations récapitulatives. Pour plus d’informations récapitulatives renvoyées, consultez <String>.summary la table des résultats renvoyés. Valeurs valides :
Valeur par défaut : false |
| options.partial_commits | Booléen | Marqueur indiquant si la prise en charge de la validation partielle est activée. Pour plus d’informations sur les validations partielles, consultez Fonctionnalités IRE améliorées. Valeurs valides :
Valeur par défaut : true |
| options.partial_payloads | Booléen | Marqueur indiquant si la prise en charge partielle de la charge utile 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 :
Valeur par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant si la mise à jour du champ d’heure de last_scan du sys_object_source doit être ignorée. 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 si la mise à jour des champs discovery_source et last_discovered doit être ignorée 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 sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| 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 |
| <chaîne>.additionalCommittedRelations | Tableau d’objets qui décrivent un CI de relation dépendant 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 |
| <Chaîne>.hasError | Marqueur indiquant si un élément ou une relation comporte des erreurs. Type de données : booléennes |
| <chaîne>.hasWarning | Marqueur indiquant si un élément ou une relation a des avertissements. Type de données : booléennes |
| <chaîne>.éléments | Liste d’objets qui décrivent les CI créés ou mis à jour. Type de données : tableau |
| <chaîne>.items.additionalRelatedItems | Liste des objets JSON qui fournissent 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. Type de données : tableau |
| <chaîne>.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>.items.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau de corps items de la demande correspondant à cet élément connexe. Type de données : tableau de nombres |
| <chaîne>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE CMDB [cmdb_ire_partial_payloads]. Type de données : tableau |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.items.nomdeclasse | Nom de classe/table (sys_class_name) du CI qui a été créé ou mis à jour. Type de données : chaîne |
| <String>.items.duplicateIndex | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <String>.items.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <chaîne>.éléments.erreurs | Tableau d’objets dans lequel chaque objet décrit une erreur rencontrée lors du traitement de ce CI. Type de données : tableau |
| <chaîne>.éléments.errors.error | Type d’erreur survenu lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.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 |
| <String>.items.identificationAttempts.attemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.identificationAttempts.attributes | Liste des attributs d’entrée d’identificateur de CI qui ont été utilisés pendant le processus d’identification. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <String>.items.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table faisant l’objet de la recherche au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.info | Liste d’objets contenant des informations supplémentaires sur le traitement de l’élément. Type de données : tableau |
| <chaîne>.items.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 |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque le moteur IRE ignore la reclassification en raison de la règle de restriction de classification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndex | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <chaîne>.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 |
| <chaîne>.éléments.relatedItems | Liste des objets JSON qui fournissent des informations sur les éléments connexes traités. Type de données : tableau |
| <String>.items.relatedItems.className | Nom de classe/table (sys_class_name) de l’élément connexe. 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>.items.relatedItems.errors | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur survenue lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errors.message | Message d’erreur rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : Tableau de nombres ou Tableau d’objets |
| <chaîne>.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 |
| <chaîne>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau de corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <String>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.relatedItems.sysId | sys_id de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.items.relatedItems.warnings | Tableau d’objets décrivant un avertissement rencontré lors du traitement des éléments connexes. Type de données : tableau |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Liste des objets JSON qui fournit des informations sur les relations traitées. Type de données : tableau |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : Table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de la relation dépendante. Type de données : nombre |
| <chaîne>.relations.erreurs | Tableau d’objets qui décrivent les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau |
| <chaîne>.relations.inputIndex | 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, etc., par classe. Type de données : tableau |
| <Chaîne>.résumé.<class_name> | Statistiques pour une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement des charges utiles partielles. Type de données : nombre |
| <chaîne>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.skippedItemCount | Nombre d’éléments qui ont été ignorés. Type de données : nombre |
| <chaîne>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <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 ayant généré un avertissement lors du traitement. Type de données : nombre |
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}},
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229",
"values": {
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229"
}}
],
"settings" : {
"skipReclassificationRestrictionRules" : "true",
"updateWithoutDowngrade" : "true",
"updateWithoutUpgrade" : "true",
"updateWithoutSwitch" : "true"
}},
{
"className": "cmdb_ci_app_server_tomcat",
"values": {
"running_process_key_parameters": "/opt/OV/nonOV/tomcat/b/temp org.apache.catalina.startup.Bootstrap start",
"install_directory": "/opt/OV/nonOV/tomcat/b",
"name": "Tomcat@hpom9:3443",
"server_port": "8006",
"sys_class_name": "cmdb_ci_app_server_tomcat"
},
"internal_id": "tomcat_id"
}],
"relations": [
{
"parent_id": "tomcat_id",
"child_id": "16777219",
"type": "Runs on::Runs"
}],
"referenceItems": [
{
"referenceField": "installed_on",
"referenced": "16777219",
"referencedBy": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}]};
var input = new JSON().encode(payload);
var output = SNC.IdentificationEngineScriptableApi.identifyCIEnhanced('ServiceNow', input, {});
Sortie :
{
"items": [
{
"className": "cmdb_ci_win_server",
"operation": "INSERT",
"relatedSysIds": [
null,
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_serial_number",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source NO_MATCH",
"identifierName": "",
"attemptResult": "NO_MATCH",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number",
"serial_number_type"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"serial_number"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"mac_address",
"name"
],
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_spkg",
"operation": "INSERT",
"relatedSysIds": [
null
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"className": "cmdb_software_instance",
"errorCount": 0,
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 0
}
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"errors": [],
"warnings": [
{
"error": "MISSING_MATCHING_ATTRIBUTES",
"message": "In payload missing minimum set of input values for criterion (matching) attributes from identify rule for table [cmdb_software_instance]. Add these input values in payload item '{\"className\":\"cmdb_software_instance\",\"values\":{},\"internal_id\":\"f7273cccec30101056cd4bb46eb4db5d\",\"sys_object_source_info\":{\"source_feed\":\"SN Discovery Feed 1\",\"source_name\":\"ServiceNow\",\"source_native_key\":\"Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229\"},\"settings\":{},\"sys_ire_info\":{\"ire_received_time\":\"2020-05-10 17:57:48\"}}'"
}
],
"operation": "INSERT_AS_PARTIAL",
"className": "cmdb_software_instance",
"errorCount": 0,
"sysId": "Unknown",
"markers": [],
"inputIndices": [
{
"mainIndex": 1,
"subIndex": 1
}
],
"mergedPayloadIds": [],
"warningCount": 1
}
],
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
},
{
"attributes": [
"key"
],
"identifierName": "Software",
"attemptResult": "NO_MATCH",
"searchOnTable": "cmdb_ci_spkg",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
1
],
"mergedPayloadIds": [],
"warningCount": 0
},
{
"className": "cmdb_ci_app_server_tomcat",
"operation": "INSERT",
"identificationAttempts": [
{
"attributes": [],
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"markers": [],
"inputIndices": [
2
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedItems": [],
"relations": [
{
"className": "cmdb_rel_ci",
"operation": "INSERT",
"errorCount": 0,
"markers": [],
"inputIndices": [
0
],
"mergedPayloadIds": [],
"warningCount": 0
}
],
"additionalCommittedRelations": []
}
IdentificationEngineScriptableApi : runIdentificationAudit(GlideRecord now_GR)
Exécute un audit d’identification par rapport à l’élément de configuration (CI) spécifié pour détecter les doublons.
Si des doublons sont trouvés, des tâches de duplication sont créées. N’utilisez cette méthode que sur les types de CI disposant de 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 la présence de tâches en doublon sur le serveur et créer une tâche de correction des doublons, le cas échéant.
var grServer = new GlideRecord('cmdb_ci_server');
grServer.query();
while (grServer.next()) {
SNC.IdentificationEngineScriptableApi.runIdentificationAudit(grServer);
}
Équivalent dans le champ d’application
Pour utiliser la méthode runIdentificationAudit(GlideRecord now_GR) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine incluse dans le périmètre correspondante : runIdentificationAudit(GlideRecord now_GR).