IdentificationEngineScriptableApi : global
IdentificationEngineScriptableApi utilise le cadre de travail Identification et rapprochement pour minimiser la création d’éléments de configuration (CI) en double et pour rapprocher les attributs de CI en acceptant uniquement des informations provenant de sources de données autorisées lors de la mise à jour du Base de données de gestion des configurations (CMDB)fichier .
IdentificationEngineScriptableApi : createOrUpdateCI (source de la chaîne, entrée de la chaîne)
Insère ou met à jour des éléments de configuration (CI) et des non-CIBase de données de gestion des configurations (CMDB) (classes ne s’étendant pas à partir de cmdb_ci) dans le basé sur des CMDB règles d’identification et de rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB .
Vous devez transmettre les CI non CMDB en tant qu’éléments de recherche ou connexes dans la charge utile IRE. Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| 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 input.items | Tableau d'objets | É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 des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_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é analysé. Format : JJ-MM-AAAA hh :mm :ss |
| input.items.lookup.values | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Associés | Tableau | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent quel type d’enregistrements peut se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Identificateur CI unique pour une source spécifique. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_object_source_info.source_name | Chaîne | Source de données des informations sur le CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique pour l’élément à partir de la source. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : JJ-MM-AAAA hh :mm :ss |
| input.items.related.values | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur 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é analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Éléments.Valeurs | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments de la charge utile 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/la table de l’élément referencedBy . |
| relations.entrées | Tableau d'objets | Liste qui spécifie les relations entre les éléments de la charge utile entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.) |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .) Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de découverte. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrée | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| source | Chaîne | Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table cmdb_ci. |
| Type | Description |
|---|---|
| <chaîne> | Chaîne au format JSON qui est une liste de résultats pour les éléments de configuration dans la chaîne d’entrée. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur. Type de données : chaîne |
| <chaîne>.additionalCommittedItems | Aucune valeur n’est actuellement renvoyée. |
| <chaîne>.additionalCommittedRelations | Aucune valeur n’est actuellement renvoyée. |
| <chaîne>.items | Description des CI créés ou mis à jour. Type de données : objet |
| <chaîne>.éléments.additionalRelatedItems | Liste des informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles. Ces informations ne sont pas renvoyées actuellement. Type de données : tableau d’objets |
| <chaîne>.éléments.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <chaîne>.items.additionalRelatedItems.inputIndices.mainIndex | Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe supplémentaire. Type de données : nombre |
| <chaîne>.items.additionalRelatedItems.inputIndices.subIndex | Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe supplémentaire. Type de données : nombre |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.sysId | Sys_id des éléments connexes supplémentaires. Type de données : chaîne |
| <chaîne>.items.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <chaîne>.éléments.errorCount | Nombre d’erreurs. Type de données : nombre |
| <chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <chaîne>.éléments.errors.error | Type d’erreur survenue lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <chaîne>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <chaîne>.items.identificationAttempts.AttemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur 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. |
| <chaîne>.éléments.identificationTentatives.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.info | Liste contenant des informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <chaîne>.items.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. Type de données : chaîne |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndices | Valeurs d’index des CI provenant du tableau du corps items de la demande qui correspondent à ce CI. Type de données : tableau |
| <chaîne>.éléments.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <chaîne>.éléments.élémentsconnexes | Liste fournissant des informations sur les éléments connexes traités. Type de données : tableau d’objets |
| <Chaîne>.éléments.élémentsconnexes.nomdeclasse | Nom de classe/table (sys_class_name) de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs qui se sont produites pendant le traitement. Type de données : tableau d’objets |
| <chaîne>.éléments.élémentsconnexes.errorCount | Nombre d’erreurs détectées pendant le traitement. Type de données : nombre |
| <chaîne>.items.relatedItems.inputIndices | Index des éléments connexes correspondants. Type de données : tableau ou nombres |
| <chaîne>.items.relatedItems.inputIndices.mainIndex | Valeur entière du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.inputIndices.subIndex | Valeur entière du tableau du corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id pour les éléments connexes (éléments de recherche de table) à partir du tableau du corps items.lookup de la demande. Valeurs notables : nul : aucune sys_id n’a été identifiée pour cet élément connexe. Type de données : tableau |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Informations sur les relations traitées. Type de données : tableau d’objets |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs. Type de données : nombre |
| <chaîne>.relations.inputIndices | Index des relations d’entrée correspondantes. Type de données : tableau |
| <chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
L’élément suivant montre comment reclassifier un élément de configuration.
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"short_description": "Linux server description",
"name": "Linux Server 1"
}
}
]
};
var input = 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 l’identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var jsonUntil = new JSON();
var input = jsonUntil.encode(payload);
var output = SNC.IdentificationEngineScriptableApi.createOrUpdateCI('ServiceNow', input);
gs.print(output);
Sortie :
{
"items": [
{
"className": "cmdb_ci_netgear",
"operation": "INSERT",
"sysId": "787c7e6adb1910102f67dfea5e96196e",
"relatedSysIds": [
"f47c7e6adb1910102f67dfea5e961977",
"3c7c7e6adb1910102f67dfea5e961977"
],
"relatedItems": [
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "f47c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 0
}
],
"className": "cmdb_serial_number"
},
{
"errors": [],
"operation": "INSERT",
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"sysId": "3c7c7e6adb1910102f67dfea5e961977",
"markers": [],
"inputIndices": [
{
"mainIndex": 0,
"subIndex": 1
}
],
"className": "cmdb_serial_number"
}
],
"identifierEntrySysId": "Unknown",
"identificationAttempts": [
{
"info": "sys_object_source SKIPPED",
"identifierName": "",
"attemptResult": "SKIPPED",
"attributes": [],
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"serial_number",
"serial_number_type"
],
"searchOnTable": "cmdb_serial_number",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"serial_number"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "NO_MATCH",
"attributes": [
"name"
],
"searchOnTable": "cmdb_ci_hardware",
"hybridEntryCiAttributes": []
},
{
"identifierName": "Hardware Rule",
"attemptResult": "SKIPPED",
"attributes": [
"mac_address",
"name"
],
"searchOnTable": "cmdb_ci_network_adapter",
"hybridEntryCiAttributes": []
}
],
"errorCount": 0,
"mergedPayloadIds": [],
"warningCount": 0,
"markers": [],
"inputIndices": [
0
]
}
],
"additionalCommittedItems": [],
"relations": [],
"additionalCommittedRelations": []
}
Équivalent dans le champ d’application
Pour utiliser la méthode createOrUpdateCI(String source, String input) dans une application incluse dans le périmètre, utilisez la méthode correspondante du moteur d’identification inclus dans le périmètre : 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 rapprochement. Utilisez cette API au lieu de mettre à jour directement le CMDB .
Vous devez transmettre les CI non CMDB en tant qu’éléments de recherche ou connexes dans la charge utile IRE. Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
- Gestion des charges utiles partielles
- Gestion des validations partielles
- Suppression des éléments en double dans une charge utile
- Génération de résumés de sortie
Pour plus d’informations sur l’ingestion de tables non CMDB, reportez-vous à la section IRE support for non-CMDB tables.
| Nom | Type | Description |
|---|---|---|
| entrée | Chaîne | Requis. Charge utile en entrée. Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. |
| éléments input.items | Tableau d'objets | É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 des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_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/heure UTC de numérisation de l’élément. Format : JJ-MM-AAAA hh :mm :ss |
| input.items.lookup.values | Objet | Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Associés | Tableau d'objets | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent quel type d’enregistrements peut se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut avoir n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_object_source_info.source_name | Chaîne | Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique de la source pour l’élément connexe. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : |
| input.items.related.values | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur 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é analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Éléments.Valeurs | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments de la charge utile 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/la table de l’élément referencedBy . |
| relations.entrées | Tableau d'objets | Liste qui spécifie les relations entre les éléments de la charge utile entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.) |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .) Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de découverte. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrée | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque : Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles. |
| options.deduplicate_payloads | 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 connaître les détails des informations récapitulatives renvoyées, consultez <String>.summary le tableau 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 de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE. Valeurs valides :
Valeur par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci]. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| source | Chaîne | Source de données des informations 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 d’objets |
| <chaîne>.additionalCommittedItems.className | Sys_class_name de ce CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedItems.errorCount | Nombre d’erreurs rencontrées lors du traitement de ce CI supplémentaire. Type de données : nombre |
| <chaîne>.additionalCommittedItems.errors | Tableau d’objets décrivant les erreurs rencontrées lors du traitement de ce CI supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedItems.errors.error | Type d’erreur rencontrée lors du traitement du CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedItems.errors.message | Un message d’erreur s’est produit lors du traitement du CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedItems.identificationAttempts | Tableau d’objets dans lequel chaque objet décrit une tentative d’identification de ce CI supplémentaire. Type de données : tableau d’objets |
| <chaîne>.additionalCommittedItems.identificationAttempts.attemptResult | Résultat de cette tentative d’identification de CI supplémentaire. Type de données : chaîne Valeurs possibles :
|
| <chaîne>.additionalCommittedItems.identificationAttempts.attributes | Attributs d’entrée d’identificateur de CI utilisés lors de cette tentative d’identification de CI supplémentaire. Type de données : tableau Les noms et types d’attributs dépendent des données du corps de la demande et de l’identificateur utilisé, par exemple : |
| <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 : |
| <chaîne>.additionalCommittedItems.identificationAttempts.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedItems.identificationAttempts.searchOnTable | Nom de la table recherchée pour cette tentative d’identification de CI supplémentaire. Type de données : chaîne |
| <String>.additionalCommittedItems.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier ce CI supplémentaire. Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus. |
| <chaîne>.additionalCommittedItems.inputIndices | Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à ce CI supplémentaire. Type de données : tableau de nombres |
| <chaîne>.additionalCommittedItems.markers | Valeurs de marqueur pour une utilisation interne. Type de données : tableau |
| <chaîne>.additionalCommittedItems.mergedPayloads | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles [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 via l’identification. Type de données : chaîne Valeurs notables : inconnues : échec de l’identification de ce CI supplémentaire. Consultez errors pour en savoir plus. |
| <chaîne>.additionalCommittedItems.warnings | Description des avertissements rencontrés lors du traitement de ce CI supplémentaire. Type de données : tableau d’objets |
| <chaîne>.additionalCommittedItems.warnings.error | Type d’avertissement rencontré lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedItems.warnings.message | Un message d’avertissement s’est produit lors du traitement de ce CI supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <chaîne>.additionalCommittedRelations.className | Le sys_class_name de ce CI de relation dépendante supplémentaire. Type de données : chaîne Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. |
| <String>.additionalCommittedRelations.errorCount | Nombre d’erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : nombre |
| <chaîne>.additionalCommittedRelations.errors | Description des erreurs rencontrées lors du traitement de ce CI de relation dépendante supplémentaire. Type de données : tableau d’objets |
| <chaîne>.additionalCommittedRelations.errors.error | Type d’erreur rencontrée lors du traitement du CI de relation dépendante supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedRelations.errors.message | Un message d’erreur s’est produit pendant le traitement de ce CI de relation dépendante supplémentaire. Type de données : chaîne |
| <chaîne>.additionalCommittedRelations.inputIndices | Valeurs d’index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante supplémentaire. Type de données : tableau |
| <chaîne>.additionalCommittedRelations.markers | Valeurs de marqueur pour une utilisation interne. Type de données : tableau |
| <chaîne>.additionalCommittedRelations.mergedPayloadIds | Sys_id les valeurs des charges utiles partielles de la table Charges utiles partielles IRE de la CMDB [cmdb_ire_partial_payloads] qui ont été fusionnées pour ce CI et 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 qui a été effectuée pour le CI de relation dépendante supplémentaire. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.hasError | Marqueur indiquant si un élément ou une relation comporte des erreurs. Type de données : booléennes |
| <chaîne>.hasWarning | Marqueur indiquant si un élément ou une relation a des avertissements. Type de données : booléennes |
| <chaîne>.items | Description des CI créés ou mis à jour. Type de données : tableau d’objets |
| <chaîne>.éléments.additionalRelatedItems | Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles. Type de données : tableau d’objets |
| <chaîne>.éléments.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à cet élément connexe. Type de données : tableau de nombres |
| <chaîne>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB. Type de données : tableau |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.items.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <chaîne>.éléments.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <chaîne>.éléments.errors.error | Type d’erreur survenue lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <chaîne>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <chaîne>.items.identificationAttempts.AttemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur 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 : |
| <chaîne>.éléments.identificationTentatives.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.incompleteSysIds | Si l’élément comporte des erreurs et a été enregistré en tant que charge utile incomplète, ce paramètre contient la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB. Type de données : chaîne |
| <String>.items.info | Informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <chaîne>.items.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. Type de données : chaîne |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndices | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <chaîne>.éléments.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <chaîne>.éléments.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.partialSysIds | Si l’élément comporte des erreurs et a été enregistré en tant que charge utile partielle, ce paramètre contient la sys_id de l’enregistrement de charge utile partielle. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes | Liste des objets JSON qui décrivent un CI associé (CI de recherche de table) à partir du tableau du corps items.lookup de la demande. Type de données : tableau d’objets |
| <Chaîne>.éléments.élémentsconnexes.nomdeclasse | Nom de classe/table (sys_class_name) de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errors.message | Message d’erreur associé à l’erreur. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errorCount | Nombre d’erreurs détectées lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.items.relatedItems.incompleteSysIds | Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB. Type de données : chaîne |
| <chaîne>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <chaîne>.items.relatedItems.inputIndices.mainIndex | Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <chaîne>.items.relatedItems.operation | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.relatedItems.partialSysIds | Si l’élément connexe comporte des erreurs et a été enregistré en tant que charge utile partielle, il contient une liste des sys_ids des enregistrements associés dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads]. Type de données : tableau |
| <chaîne>.éléments.relatedItems.sysId | Sys_id de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.éléments.élémentsconnexes.avertissements | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <chaîne>.éléments.élémentsconnexes.avertissements.erreur | Type d’avertissement rencontré lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.avertissements.message | Message associé à l’avertissement. Type de données : chaîne |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Description d’un CI de relation dépendante à partir du tableau du corps relations de la demande. Type de données : tableau d’objets |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante. Type de données : nombre |
| <chaîne>.relations.erreurs | Liste décrivant les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau d’objets |
| <chaîne>.relations.erreurs.erreur | Type d’erreur rencontrée lors du traitement du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.relations.erreurs.message | Message d’erreur rencontré pendant le traitement de ce CI de relation dépendante. Type de données : chaîne |
| <chaîne>.relations.incompleteSysIds | Si la relation comporte des erreurs et a été enregistrée en tant que charge utile incomplète, cette valeur est la sys_id de l’enregistrement dans la table Charges utiles incomplètes IRE [cmdb_ire_incomplete_payloads] CMDB. Type de données : chaîne |
| <chaîne>.relations.inputIndices | Index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante. Type de données : tableau |
| <chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.relations.partialSysIds | Si la relation comporte des erreurs et a été enregistrée en tant que charge utile partielle, cette valeur correspond au sys_id de l’enregistrement dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB. Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.summary | Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, etc., par classe. Type de données : tableau |
| <chaîne>.résumé.<class_name> | Statistiques pour une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement de charges utiles partielles. Type de données : nombre |
| <Chaîne>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <chaîne>.summary.<class_name>.skippedItemCount | Nombre d’éléments qui ont été ignorés. Type de données : nombre |
| <chaîne>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <String>.summary.<class_name>.updatedItemCount | Nombre d’éléments mis à jour. Type de données : nombre |
| <String>.summary.<class_name>.warningCount | Nombre d’éléments ayant généré un avertissement lors du traitement. Type de données : nombre |
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 exactement comme createOrUpdateCI(), mais ne valide pas le résultat.
| Nom | Type | Description |
|---|---|---|
| jsonString (en anglais seulement) | Chaîne | Chaîne au format JSON d’éléments de configuration à ajouter ou à mettre à jour. Chaque chaîne d’entrée est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
| Type | Description |
|---|---|
| Chaîne | Une chaîne au format JSON qui est une liste de résultats. Chaque chaîne de résultat est au format 'items : [{}], relations :[{}]', où chaque élément des listes items et relations contient des paires nom-valeur. Les paires nom-valeur possibles dans la liste des éléments sont les suivantes :
Les paires nom-valeur possibles dans la liste des relations sont les suivantes :
|
Identifiez un CI indépendant avec l’identification basée sur la recherche.
var payload = {items: [
{className:'cmdb_ci_netgear',
values: {name:'ny8500-nbxs08',
ports:'1200'},
lookup: [{className:'cmdb_serial_number',
values:{serial_number:'1234ABCD', serial_number_type:'uuid',absent:'false',valid:'true'}},
{className:'cmdb_serial_number',
values:{serial_number:'3456EFGH', serial_number_type:'system',absent:'false',valid:'true'}}]}]};
var 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 correspondante du moteur d’identification incluse dans le périmètre : 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 élément présentant un avertissement ou une erreur, indique si une opération d’élément est INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
- Renvoie la sys_ids de charges utiles partielles qui ont été fusionnées avec des charges utiles partielles existantes.
- Prend en charge la fonctionnalité de déduplication de charge utile.
- Génère un résumé.
| 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 input.items | Tableau d'objets | É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 des champs de référence dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.items.internal_id | Chaîne | Identificateur d’élément unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| Entrée.Éléments.Recherche | Tableau d'objets | Identifie l’élément de niveau supérieur contenant la recherche (identification basée sur la recherche). Ces enregistrements sont utilisés pour identifier l’élément de configuration en fonction d’une table de recherche qui fait référence à cmdb_ci. Par exemple : |
| input.items.lookup.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Chaîne | Identificateur d’élément de recherche unique pour la charge utile associée. Il peut s’agir de n’importe quelle valeur, mais elle doit être unique dans la charge utile. |
| input.items.lookup.sys_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/heure UTC de numérisation de l’élément. Format : JJ-MM-AAAA hh :mm :ss |
| input.items.lookup.values | Objet | Informations de champ pour le CI sous forme de paires nom-valeur, où le nom est le nom de champ. Lors de la mise à jour des champs de référence, la valeur doit être la sys_id référencée. Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Associés | Tableau d'objets | Référence à l’élément de niveau supérieur qui contient la liste connexe. Les règles de l’entrée connexe [cmdb_related_entry] définissent quel type d’enregistrements peut se trouver dans ce tableau. Ces enregistrements sont utilisés pour ajouter des éléments en fonction d’une table connexe qui fait référence au CI en cours d’identification. La table connexe peut ou non étendre cmdb_ci. Ces enregistrements ne sont pas utilisés pour identifier l’élément de configuration. |
| input.items.related.className | Chaîne | Requis. Nom de classe/table, sys_class_name, de l’élément de configuration (CI) à créer ou à mettre à jour. Cette valeur peut être n’importe quelle CMDB classe/table, telle que cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Chaîne | Identificateur unique de cet élément connexe dans cette charge utile. Peut avoir n’importe quelle valeur, mais doit être unique dans la charge utile. |
| input.items.related.sys_object_source_info | Objet | Objet qui constitue un identificateur CI unique pour une source de données spécifiée. Différentes sources peuvent avoir des paires nom-valeur différentes pour le même CI. |
| input.items.related.sys_object_source_info.source_feed | Chaîne | Si la source peut avoir plusieurs flux, utilisez ce champ pour fournir le nom du flux qui envoie cet élément. La source de données génère ce nom de flux. Il peut s’agir de n’importe quelle chaîne qui identifie le flux source de façon unique. |
| input.items.related.sys_object_source_info.source_name | Chaîne | Identifie la source de données des informations de CI. Cette valeur doit être l’une des valeurs de choix définies pour le champ discovery_source de la table Élément de configuration [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Chaîne | Clé/ID unique de la source pour l’élément connexe. La source de données génère cette clé. Il peut s’agir de n’importe quelle chaîne unique à l’élément. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Chaîne | Date et heure UTC auxquelles l’élément a été analysé. Format : |
| input.items.related.values | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| Entrée.Éléments.Paramètres | Objet | Paramètres qui définissent les types de mises à jour autorisés. |
| input.items.settings.skipReclassificationRestrictionRules | Booléen | Marqueur indiquant si IRE ne doit pas exécuter la règle de restriction de reclassification qui correspond à la classe de l’élément de charge utile. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutDowngrade | Booléen | Marqueur indiquant si la mise à jour et le passage à une version antérieure sont autorisés pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutSwitch | Booléen | Marqueur indiquant si l’élément peut être mis à jour et la classe changée. Valeurs valides :
Valeur par défaut : false |
| input.items.settings.updateWithoutUpgrade | Booléen | Marqueur indiquant si la mise à jour et la mise à niveau sont autorisées pour cet élément. Valeurs valides :
Valeur par défaut : false |
| input.items.sys_object_source_info | Objet | Identificateur 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é analysé. Format : JJ-MM-AAAA hh :mm :ss |
| Éléments.Valeurs | Objet | Champs à créer ou mettre à jour pour cet élément connexe en tant que paires nom/valeur, où le nom est le nom de champ. Pour un champ de référence, la valeur doit être le sys_id référencé. Si vous souhaitez utiliser la valeur d’affichage au lieu de la sys_id pour les champs de référence, transmettez ces informations dans un display_values objet plutôt que dans l’objet values . Les noms et les types de champs dépendent des champs sélectionnés par l’utilisateur, tels que : |
| input.referenceItems | Tableau d'objets | Liste qui définit les références entre les éléments de la charge utile 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/la table de l’élément referencedBy . |
| relations.entrées | Tableau d'objets | Liste qui spécifie les relations entre les éléments de la charge utile entrée. Un objet de ce tableau peut utiliser l’un ou l’autre des deux formats.
|
| entrée.relations.enfant | Numéro | Index entier de l’objet CI dans le items tableau qui représente l’enfant dans la relation (items, items.related ou items.lookup). |
| input.relations.child_id | Chaîne | De internal_id l’élément enfant dans la relation (items, items.related ou items.lookup.) |
| Entrée.Relations.Parent | Numéro | Index entier de l’élément parent dans le items tableau (items, items.related ou items.lookup.) |
| input.relations.parent_id | Chaîne | De internal_id l’élément parent dans la relation (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objet | Informations sur la source de découverte pour la relation. Pour les relations de non-dépendance, ces informations sont enregistrées dans la table Sources de relations [sys_rel_source] (non conservée pour les méthodes identifyCIEnhanced() ou identifyCI() .) Type de données : objet |
| input.relations.sys_rel_source_info.source_name | Chaîne | Nom de la source de découverte. Par défaut : source de détection transmise dans le paramètre de méthode d’API. |
| input.relations.sys_rel_source_info.source_feed | Chaîne | Toute chaîne qui est une sous-découverte/analyse au sein de la source de découverte. Par défaut : « INCONNU » est stocké dans la colonne source_feed lors de la création d’un enregistrement dans sys_rel_source table. |
| type.relations.entrée | Chaîne | Type de relation qui existe entre les éléments parents et enfants. Il doit s’agir d’une valeur de champ de nom de la table Type de relation CI [cmdb_rel_type]. |
| options | Objet | Facultatif, mais {} ou null doit être transmis. Options permettant d’activer ou de désactiver des fonctionnalités. Remarque : Par défaut ou si partial_payloads est défini sur vrai, les deux partial_commits et deduplicate_payloads sont activés, même s’ils sont définis sur faux, car ces fonctionnalités sont essentielles pour la fonctionnalité de charges utiles partielles. |
| options.deduplicate_payloads | 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 connaître les détails des informations récapitulatives renvoyées, consultez <String>.summary le tableau 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 de la charge utile partielle est activée. Pour plus d’informations sur les charges utiles partielles, consultez Fonctionnalités IRE améliorées et Créer une règle de source de données IRE. Valeurs valides :
Valeur par défaut : true |
| options.skip_updating_last_scan_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour du champ d’heure de last_scan du sys_object_source. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_last_scan_to_now. |
| options.skip_updating_source_last_discovered_to_now | Booléen | Marqueur indiquant s’il faut ignorer la mise à jour des champs discovery_source et last_discovered dans la table Élément de configuration [cmdb_ci]. Valeurs valides :
Par défaut : utilise la valeur de la propriété système glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| source | Chaîne | Source de données des informations 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 d’objets |
| <chaîne>.additionalCommittedRelations | Description d’un CI de relation dépendante qui n’a pas été inclus dans la liste du corps relations de la demande à insérer ou à mettre à jour. Type de données : tableau d’objets |
| <chaîne>.hasError | Marqueur indiquant si un élément ou une relation comporte des erreurs. Type de données : booléennes |
| <chaîne>.hasWarning | Marqueur indiquant si un élément ou une relation a des avertissements. Type de données : booléennes |
| <chaîne>.items | Description des CI créés ou mis à jour. Type de données : tableau d’objets |
| <chaîne>.éléments.additionalRelatedItems | Informations sur la recherche supplémentaire et les éléments connexes qui ont été traités mais non fournis dans le cadre de la charge utile entrée. Ces éléments proviennent de charges utiles partielles. Type de données : tableau d’objets |
| <chaîne>.éléments.additionalRelatedItems.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.inputIndices | Valeurs d’index des CI du tableau du corps items de la demande qui correspondent à cet élément connexe. Type de données : tableau de nombres |
| <chaîne>.items.additionalRelatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans l’élément connexe. Situé dans la table Charges utiles partielles IRE [cmdb_ire_partial_payloads] CMDB. Type de données : tableau |
| <chaîne>.éléments.additionalRelatedItems.operation | Type d’opération. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.additionalRelatedItems.sysId | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.items.className | Nom de classe/table (sys_class_name) du CI créé ou mis à jour. Type de données : chaîne |
| <chaîne>.éléments.duplicateIndices | Liste des index de CI qui sont des doublons de l’élément actuel. Type de données : tableau |
| <chaîne>.éléments.errorCount | Nombre d’erreurs rencontrées lors du traitement de l’élément. Type de données : nombre |
| <chaîne>.éléments.erreurs | Liste des erreurs rencontrées lors du traitement de ce CI. Type de données : tableau d’objets |
| <chaîne>.éléments.errors.error | Type d’erreur survenue lors du traitement du CI. Type de données : chaîne |
| <chaîne>.éléments.errors.message | Un message d’erreur s’est produit lors du traitement du CI. Type de données : chaîne |
| <chaîne>.items.identificationAttempts | Liste des tentatives d’identification des CI. Type de données : tableau d’objets |
| <chaîne>.items.identificationAttempts.AttemptResult | Résultats de la tentative d’identification du CI. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.identificationTentatives.attributs | Liste des attributs d’entrée d’identificateur 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 : |
| <chaîne>.éléments.identificationTentatives.identifierName | Règle d’identificateur utilisée pour cette tentative d’identification de CI. Type de données : chaîne |
| <String>.items.identificationAttempts.searchOnTable | Nom de la table dans laquelle la recherche a été effectuée au cours du processus d’identification. Type de données : chaîne |
| <String>.items.identifierEntrySysId | Sys_id de la règle d’identificateur utilisée pour identifier le CI. Situé dans la table Entrée d’identificateur [cmdb_identifier_entry]. Type de données : chaîne |
| <chaîne>.items.info | Informations supplémentaires sur le traitement de l’élément. Type de données : tableau d’objets |
| <chaîne>.items.info.code | Type de reclassification qui a été ignoré. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.items.info.message | Message qui fournit des informations supplémentaires sur le motif de l’omission de la reclassification. Type de données : chaîne |
| <chaîne>.items.info.ruleSysId | Sys_id de la règle de restriction de reclassification qui a été mise en correspondance. Applicable uniquement lorsque IRE ignore la reclassification en raison de la règle de restriction de reclassification. Cette valeur est vide si la reclassification est ignorée en raison d’une charge utile ou d’un marqueur global. Type de données : chaîne |
| <chaîne>.items.inputIndices | Index du CI d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les CI associés ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres |
| <chaîne>.éléments.maskedAttributes | Liste des attributs dont la mise à jour par une source de données ne faisant pas autorité a été ignorée, tel que défini par les règles de rapprochement. Type de données : tableau |
| <chaîne>.éléments.opération | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes | Informations sur les éléments connexes traités. Type de données : tableau d’objets |
| <Chaîne>.éléments.élémentsconnexes.nomdeclasse | Nom de classe/table (sys_class_name) de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errorCount | Nombre d’erreurs détectées lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.éléments.élémentsconnexes.erreurs | Liste des erreurs qui se sont produites lors du traitement de l’élément connexe. Type de données : tableau d’objets |
| <chaîne>.éléments.élémentsconnexes.erreurs.erreur | Type d’erreur rencontrée lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.élémentsconnexes.errors.message | Un message d’erreur s’est produit lors du traitement de l’élément connexe. Type de données : chaîne |
| <chaîne>.items.relatedItems.inputIndices | Index de l’élément d’entrée correspondant. Pour les éléments de niveau supérieur, il s’agit d’une liste de nombres entiers. Pour les éléments connexes ou de recherche, il s’agit d’une liste d’objets JSON. Type de données : tableau de nombres ou tableau d’objets |
| <chaîne>.items.relatedItems.inputIndices.mainIndex | Valeur d’index du tableau du corps items de la demande qui correspond au parent CI de l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.inputIndices.subIndex | Valeur d’index du tableau du corps items.lookup de la demande qui correspond à l’élément connexe. Type de données : nombre |
| <chaîne>.items.relatedItems.mergedPayloadIds | Liste des sys_ids des charges utiles partielles qui ont été fusionnées dans le CI pendant le traitement. Type de données : tableau |
| <chaîne>.items.relatedItems.operation | Opération qui a eu lieu. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.éléments.relatedItems.sysId | Sys_id de l’élément connexe. Type de données : chaîne |
| <chaîne>.éléments.relatedItems.warningCount | Nombre d’avertissements rencontrés lors du traitement des éléments connexes. Type de données : nombre |
| <chaîne>.éléments.élémentsconnexes.avertissements | Description des avertissements rencontrés lors du traitement des éléments connexes. Type de données : tableau d’objets |
| <chaîne>.items.relatedSysIds | Liste des valeurs sys_id des CI utilisées lors de l’identification basée sur la recherche d’éléments connexes. Type de données : chaîne |
| <chaîne>.items.sys_id | Sys_id du CI qui a été mis à jour ou créé. Type de données : chaîne |
| <chaîne>.relations | Informations sur les relations traitées. Type de données : tableau d’objets |
| <chaîne>.relations.nomdeclasse | Sys_class_name de ce CI de relation dépendante. Seule valeur prise en charge : cmdb_rel_ci : table de relations CI. Type de données : chaîne |
| <chaîne>.relations.errorCount | Nombre d’erreurs rencontrées lors du traitement du CI de relation dépendante. Type de données : nombre |
| <chaîne>.relations.erreurs | Liste décrivant les erreurs rencontrées lors du traitement de ce CI de relation dépendante. Type de données : tableau d’objets |
| <chaîne>.relations.inputIndices | Index pour les objets CI de relation dépendante dans le tableau du corps relations de la demande qui correspondent à ce CI de relation dépendante. Type de données : tableau |
| <chaîne>.relations.opération | Type d’opération effectuée. Valeurs possibles :
Type de données : chaîne |
| <chaîne>.relations.sysId | Sys_id du CI de relation dépendante. Type de données : chaîne |
| <chaîne>.summary | Liste des propriétés JSON qui fournissent des statistiques sur le nombre d’éléments insérés, mis à jour, etc., par classe. Type de données : tableau |
| <chaîne>.résumé.<class_name> | Statistiques pour une classe spécifique. Type de données : objet |
| <String>.summary.<class_name>.additionalInsertedItemCount | Nombre d’éléments insérés en raison du traitement de charges utiles partielles. Type de données : nombre |
| <Chaîne>.summary.<class_name>.errorCount | Nombre d’erreurs rencontrées lors du traitement des éléments. Type de données : nombre |
| <chaîne>.summary.<class_name>.incompleteItemCount | Nombre d’éléments insérés dans la table Charges utiles incomplètes IRE CMDB [cmdb_ire_incomplete_payloads]. Type de données : nombre |
| <String>.summary.<class_name>.insertedItemCount | Nombre d’éléments créés. Type de données : nombre |
| <chaîne>.summary.<class_name>.partialItemCount | Nombre d’éléments enregistrés dans la table Charge utile partielle [cmdb_ire_partial_payloads]. Type de données : nombre |
| <chaîne>.summary.<class_name>.skippedItemCount | Nombre d’éléments qui ont été ignorés. Type de données : nombre |
| <chaîne>.summary.<class_name>.unchangedItemCount | Nombre d’éléments qui avaient des entrées mais qui n’ont pas été modifiés. Type de données : nombre |
| <String>.summary.<class_name>.updatedItemCount | Nombre d’éléments mis à jour. Type de données : nombre |
| <String>.summary.<class_name>.warningCount | Nombre d’éléments ayant généré un avertissement lors du traitement. Type de données : nombre |
var payload = {
"items": [
{
"className": "cmdb_ci_win_server",
"values": {
"chassis_type": "Desktop",
"os": "Windows 2012 R2 Datacenter",
"name": "Windows2012Server1",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"cpu_count": "1"
},
"lookup": [
{
"values": {
"valid": "true",
"serial_number": "0000-0011-1690-8730-8636-5722-52",
"serial_number_type": "bios"
},
"className": "cmdb_serial_number"
},
{
"values": {
"valid": "true",
"serial_number": "3311-9736-4988-9744-1749-4183-41",
"serial_number_type": "chassis"
},
"className": "cmdb_serial_number"
}],
"internal_id": "16777219",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "16777219",
"source_recency_timestamp": "2019-10-18 08:31:23"
}},
{
"className": "cmdb_ci_spkg",
"values": {
"name": "Windows 2012 R2 Datacenter",
"key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL"
},
"related": [
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219",
"values": {
"name": "Windows 2012 R2 Datacenter-SAMLABVM52"
},
"className": "cmdb_software_instance",
"sys_object_source_info": {
"source_feed": "SN Discovery Feed 1",
"source_name": "ServiceNow",
"source_native_key": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777219"
}},
{
"internal_id": "Microsoft Windows Server 2012 R2 Datacenter_:::_NULL|16777229",
"values": {
},
"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 avec des règles d’identification indépendantes.
| Nom | Type | Description |
|---|---|---|
| now_GR | GlideRecord | CI sur lequel exécuter l’audit pour détecter les doublons. Le CI doit avoir des règles d’identification indépendantes. |
| Type | Description |
|---|---|
| nul |
L’exemple suivant montre comment vérifier si le serveur contient des tâches en double et crée une tâche de correction des doublons, le cas échéant.
var grServer = new GlideRecord('cmdb_ci_server');
grServer.query();
while (grServer.next()) {
SNC.IdentificationEngineScriptableApi.runIdentificationAudit(grServer);
}
Équivalent dans le champ d’application
Pour utiliser la méthode runIdentificationAudit(GlideRecord now_GR) dans une application incluse dans le périmètre, utilisez la méthode IdentificationEngine correspondante : runIdentificationAudit(GlideRecord now_GR).