IdentificationEngineScriptableApi - Global
A IdentificationEngineScriptableApi usa a estrutura de Identificação e Reconciliação para minimizar a criação de itens de configuração (ICs) duplicados e para reconciliar atributos de IC, aceitando somente informações de fontes de dados autorizadas ao atualizar o Configuration Management Database (CMDB).
IdentificationEngineScriptableApi - createOrUpdateCI(cadeia de caracteres de origem, cadeia de caracteres de entrada)
Insere ou atualiza itens de configuração (IC) e ICs nãoConfiguration Management Database (CMDB) (classes que não estendem de cmdb_ci) no CMDB com base nas regras de identificação e reconciliação. Use esta API em vez de atualizar o CMDB diretamente.
Você deve passar ICs que não sejam do CMDB como pesquisa ou itens relacionados na carga útil do IRE. Para obter informações adicionais sobre ingestão de tabela não pertencente ao CMDB, consulte IRE support for non-CMDB tables.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada em JSON de itens de configuração a serem adicionados ou atualizados. |
| Itens.Entrada | Matriz | Matriz de objetos que define os itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares de nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no parâmetro input.items.lookup.values em vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| entrada.pesquisa.itens. | Matriz | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.lookup.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva do item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz | Referência ao item de nível superior que contém a lista relacionada. As regras na Entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.related.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva do item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Itens.Entrada.Configurações | Objeto | Parâmetros que definem os tipos de atualizações permitidas. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de Restrição de Reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se a atualização e o downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se a atualização e o upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva do item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| itens.entrada.valores | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.referenceItems | Matriz | Matriz de objetos que definem referências entre itens na carga útil de entrada. |
| input.referenceItems.referenced | Cadeia de caracteres | O internal_id definido para o item que está sendo referenciado por outro item. |
| input.referenceItems.referencedBy | Cadeia de caracteres | O internal_id definido para o item que faz referência a outro item. |
| input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do item referencedBy. |
| input.relations | Matriz | Matriz de objetos que especifica relacionamentos entre itens na carga útil de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC na matriz items que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | O internal_id do item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário na matriz items (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | O internal_id do item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da descoberta para o relacionamento. Para relacionamentos de não dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistentes para os métodos identifyCIEnhanced() ou identifyCI().) Tipo de dados: objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da descoberta. Padrão: origem da descoberta passada no parâmetro do método da API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "UNKNOWN" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primários e secundários. Este deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| origem | Cadeia de caracteres | Identifica a fonte de dados das informações do IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela cmdb_ci. |
| Tipo | Descrição |
|---|---|
| <String> | Cadeia de caracteres no formato JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Cada cadeia de caracteres de resultado está no formato "itens: [{}], relações: [{}]", em que cada item nas listas de itens e relações contém pares de nome-valor. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems | Nenhum valor retornado no momento. |
| <String>.additionalCommittedRelations | Nenhum valor retornado no momento. |
| <String>.itens | Lista de objetos que descrevem os ICs criados ou atualizados. Tipo de dados: matriz |
| <String>.items.adicionaisItensRelacionados | Lista de objetos JSON que fornece informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga útil de entrada. Esses itens são de cargas úteis parciais. Essas informações não são retornadas no momento. Tipo de dados: matriz |
| <String>.items.additionalRelatedItems.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.adicionaisItensRelacionados.InputIndices | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: matriz de números ou matriz de objetos |
| <String>.items.adicionaisItensRelacionados.índicesdeentrada.índiceprincipal | Valor de índice da matriz do corpo da solicitação items que corresponde ao primário do IC do item relacionado adicional. Tipo de dados: número |
| <String>.items.adicionaisItensRelacionados.índicesdeentrada.subíndice | Valor de índice da matriz do corpo da solicitação items.lookup que corresponde ao item relacionado adicional. Tipo de dados: número |
| <String>.items.adicionaisItensRelacionados.operação | Tipo de operação. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.additionalRelatedItems.sysId | Sys_id dos itens relacionados adicionais. Tipo de dados: cadeia de caracteres |
| <String>.items.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesduplicados | Lista de índices de ICs que são duplicatas do item atual. Tipo de dados: matriz |
| <String>.items.contagemdeerros | Número de erros. Tipo de dados: número |
| <String>.items.erros | Matriz de objetos em que cada objeto descreve um erro encontrado ao processar este IC. Tipo de dados: matriz |
| <String>.items.erros.erro | Tipo de erro encontrado ao processar o IC. Tipo de dados: cadeia de caracteres |
| <String>.items.erros.mensagem | Mensagem de erro associada ao erro. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts | Lista de tentativas feitas para identificar os ICs. Tipo de dados: matriz |
| <String>.items.identificationAttempts.attemptResult | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.attributes | Lista de atributos de entrada do identificador de IC que foram usados durante o processo de identificação. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>.items.identificationAttempts.hybridEntryCiAttributes | Nenhum valor retornado no momento. |
| <String>.items.identificationAttempts.identifierName | Regra do identificador usada para esta tentativa de identificação de IC. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: cadeia de caracteres |
| <String>.items.identifierEntrySysId | Sys_id da regra do identificador usada para identificar o IC. Localizado na tabela Entrada do identificador [cmdb_identifier_entry]. Tipo de dados: cadeia de caracteres |
| <String>.items.info | Lista de objetos que contêm informações adicionais sobre o processamento do item. Tipo de dados: matriz |
| <String>.items.info.code | Tipo de reclassificação que foi ignorado. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.info.mensagem | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesdeentrada | Valores de índice para ICs da matriz do corpo da solicitação items que correspondem a este IC. Tipo de dados: matriz |
| <String>.items.maskedAttributes | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada, conforme definido pelas Regras de reconciliação. Tipo de dados: matriz |
| <String>.items.relatedItems | Lista de objetos JSON que fornece informações sobre os itens relacionados processados. Tipo de dados: matriz |
| <String>.items.relatedItems.className | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.erros | Lista de erros que ocorreram durante o processamento. Tipo de dados: matriz |
| <String>.items.relatedItems.errorCount | Número de erros detectados durante o processamento. Tipo de dados: número |
| <String>.items.Itens.relacionados.IndicesDeEntrada | Índices dos itens relacionados correspondentes. Tipo de dados: matriz ou números |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor inteiro da matriz do corpo da solicitação items que corresponde ao primário do IC do item relacionado. Tipo de dados: número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor inteiro da matriz do corpo da solicitação items.lookup que corresponde ao item relacionado. Tipo de dados: número |
| <String>.items.Itens.relacionados.operação | Tipo de operação. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.relatedSysIds | Lista dos valores de sys_id para itens relacionados (itens de pesquisa de tabela) da matriz do corpo da solicitação items.lookup. Valores notáveis – nulo: nenhum sys_id foi identificado para este item relacionado. Tipo de dados: matriz |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: cadeia de caracteres |
| <String>.relations | Lista de objetos JSON que fornece informações sobre as relações processadas. Tipo de dados: matriz |
| <String>.relations.className | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: tabela de relacionamento de IC. Tipo de dados: cadeia de caracteres |
| <String>.relations.errorCount | Número de erros. Tipo de dados: número |
| <String>.relations.inputIndices | Índices das relações de entrada correspondentes. Tipo de dados: matriz |
| <String>.relations.operation | Tipo de operação realizada. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.relations.sysId | Sys_id do IC de relacionamento dependente. Tipo de dados: cadeia de caracteres |
Veja a seguir como reclassificar um item de configuração.
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);
Saída:
{
"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);
Saída:
{
"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": []
}
Identifique um IC dependente.
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);
Saída:
{
"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": []
}
Identifique um IC independente com identificação baseada em pesquisa.
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);
Saída:
{
"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": []
}
Equivalente com escopo
Para usar o método createOrUpdateCI(String source, String input) em uma aplicação com escopo, use o método IdentificationEngine com escopo correspondente: createOrUpdateCI(String source, String input).
IdentificationEngineScriptableApi - createOrUpdateCIEnhanced(cadeia de caracteres de origem, entrada de cadeia de caracteres, opções de objeto)
Insere ou atualiza itens de configuração (IC) e ICs nãoConfiguration Management Database (CMDB) (classes que não estendem de cmdb_ci) no CMDB com base nas regras de identificação e reconciliação. Use esta API em vez de atualizar o CMDB diretamente.
Você deve passar ICs que não sejam do CMDB como pesquisa ou itens relacionados na carga útil do IRE. Para obter informações adicionais sobre ingestão de tabela não pertencente ao CMDB, consulte IRE support for non-CMDB tables.
- Manipulando cargas úteis parciais
- Manipulando confirmações parciais
- Removendo itens duplicados em uma carga útil
- Gerando resumos de saída
Para obter informações adicionais sobre ingestão de tabela não pertencente ao CMDB, consulte IRE support for non-CMDB tables.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada em JSON de itens de configuração a serem adicionados ou atualizados. |
| Itens.Entrada | Matriz | Matriz de objetos que define os itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares de nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no parâmetro input.items.lookup.values em vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| entrada.pesquisa.itens. | Matriz | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item de pesquisa exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.lookup.sys_object_source_info | Objeto | Define um identificador de IC exclusivo para uma fonte de dados específica. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | ID de chave exclusivo para o item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data/hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Informações de campo para o IC como pares de nome-valor, em que o nome é o nome do campo. Ao atualizar campos de referência, o valor deve ser o sys_id referenciado. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz | Referência ao item de nível superior que contém a lista relacionada. As regras na Entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador exclusivo para este item relacionado nesta carga útil. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.related.sys_object_source_info | Objeto | Objeto que compõe um identificador de IC exclusivo para uma fonte de dados especificada. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Identifica a fonte de dados das informações do IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva da origem do item relacionado. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Itens.Entrada.Configurações | Objeto | Parâmetros que definem os tipos de atualizações permitidas. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de Restrição de Reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se a atualização e o downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se a atualização e o upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva do item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| itens.entrada.valores | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.referenceItems | Matriz | Matriz de objetos que definem referências entre itens na carga útil de entrada. |
| input.referenceItems.referenced | Cadeia de caracteres | O internal_id definido para o item que está sendo referenciado por outro item. |
| input.referenceItems.referencedBy | Cadeia de caracteres | O internal_id definido para o item que faz referência a outro item. |
| input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do item referencedBy. |
| input.relations | Matriz | Matriz de objetos que especifica relacionamentos entre itens na carga útil de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC na matriz items que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | O internal_id do item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário na matriz items (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | O internal_id do item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da descoberta para o relacionamento. Para relacionamentos de não dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistentes para os métodos identifyCIEnhanced() ou identifyCI().) Tipo de dados: objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da descoberta. Padrão: origem da descoberta passada no parâmetro do método da API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "UNKNOWN" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primários e secundários. Este deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| opções | Objeto | Opcional, mas {} ou nulo deve ser passado. Opções para habilitar ou desabilitar recursos. Nota:
Por padrão ou se partial_payloads for definido como verdadeiro, partial_commits e deduplicate_payloads serão habilitados, mesmo se forem definidos como falso, pois esses recursos são essenciais para a funcionalidade de cargas úteis parciais. |
| opções.deduplicate_payloads | Booliano | Sinalizador que indica se os itens duplicados são mesclados ou considerados erros. Valores válidos:
Padrão: verdadeiro |
| opções.generate_summary | Booliano | Sinalizador que indica se os resultados retornados contêm informações de resumo. Para obter os detalhes das informações de resumo retornadas, consulte <String>.summary na tabela de resultados de retorno. Valores válidos:
Padrão: falso |
| opções.parcial_commits | Booliano | Sinalizador que indica se o suporte de confirmação parcial está habilitado. Para obter informações adicionais sobre confirmações parciais, consulte Recursos de IRE aprimorados. Valores válidos:
Padrão: verdadeiro |
| opções.cargas_parciais | Booliano | Sinalizador que indica se o suporte de carga útil parcial está habilitado. Para obter informações adicionais sobre cargas úteis parciais, consulte Recursos de IRE aprimorados e Criar uma regra de fonte de dados de IRE. Valores válidos:
Padrão: verdadeiro |
| opções.skip_updating_last_scan_to_now | Booliano | Sinalizador que indica se a atualização do campo de hora last_scan de sys_object_source deve ser ignorada. Valores válidos:
Padrão: usa o valor na propriedade do sistema glide.identification_engine.skip_updating_last_scan_to_now. |
| opções.skip_updating_source_last_discovered_to_now | Booliano | Sinalizador que indica se a atualização dos campos discovery_source e last_discovered deve ser ignorada na tabela Item de configuração [cmdb_ci]. Valores válidos:
Padrão: usa o valor na propriedade do sistema glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| origem | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| Parâmetro | Descrição |
|---|---|
| <String> | Cadeia de caracteres no formato JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems | Lista de ICs que foram confirmados durante o processamento de IRE da carga útil atual, mas não estavam presentes na carga útil de entrada atual. Tipo de dados: matriz |
| <String>.additionalCommittedItems.className | Sys_class_name deste IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.errorCount | Número de erros encontrados ao processar este IC adicional. Tipo de dados: número |
| <String>.additionalCommittedItems.errors | Matriz de objetos que descreve os erros encontrados ao processar este IC adicional. Tipo de dados: matriz |
| <String>.additionalCommittedItems.errors.error | Tipo de erro encontrado ao processar o IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.errors.message | Mensagem de erro encontrada ao processar o IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.identificationAttempts | Matriz de objetos em que cada objeto descreve uma tentativa feita para identificar este IC adicional. Tipo de dados: matriz |
| <String>.additionalCommittedItems.identificationAttempts.attemptResult | Resultado desta tentativa de identificação de IC adicional. Tipo de dados: cadeia de caracteres Valores possíveis:
|
| <String>.additionalCommittedItems.identificationAttempts.attributes | Matriz de atributos de entrada do identificador de IC usada durante esta tentativa de identificação de IC adicional. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>.additionalCommittedItems.identificationAttempts.hybridEntryCiAttributes | Matriz de atributos de entrada do identificador de IC usada durante esta tentativa de identificação de IC adicional. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>.additionalCommittedItems.identificationAttempts.identifierName | Regra de identificador usada para esta tentativa de identificação de IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.identificationAttempts.searchOnTable | Nome da tabela pesquisada para esta tentativa de identificação de IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.identifierEntrySysId | Sys_id da regra do identificador usada para identificar este IC adicional. Valores notáveis – Desconhecido: falha na identificação deste IC adicional. Consulte errors para obter detalhes. |
| <String>.additionalCommittedItems.inputIndices | Matriz de valores de índice para ICs da matriz do corpo da solicitação items que correspondem a este IC adicional. Tipo de dados: matriz |
| <String>.adicionaisItensConfirmados.marcadores | Matriz de valores de marcador para uso interno. Tipo de dados: matriz |
| <String>.additionalCommittedItems.mergedPayloads | Matriz de valores de sys_id para cargas úteis parciais da tabela Cargas úteis parciais do CMDB IRE [cmdb_ire_partial_payloads] que foram mescladas durante o processamento deste IC adicional. Tipo de dados: matriz |
| <String>.additionalCommittedItems.operation | Operação realizada para este IC adicional. Tipo de dados: cadeia de caracteres Valores possíveis:
|
| <String>.additionalCommittedItems.sysId | Sys_id encontrado para este IC adicional por meio de identificação. Tipo de dados: cadeia de caracteres Valores notáveis – Desconhecido: falha na identificação deste IC adicional. Consulte errors para obter detalhes. |
| <String>.adicionaisItensConfirmados.avisos | Matriz de objetos que descreve um aviso encontrado ao processar este IC adicional. Tipo de dados: matriz |
| <String>.additionalCommittedItems.warnings.error | Tipo de aviso encontrado ao processar este IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems.warnings.message | Mensagem de aviso encontrada ao processar este IC adicional. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedRelations | Matriz de objetos que descreve um IC de relacionamento dependente que não foi incluído na lista de corpo da solicitação relations para inserir ou atualizar. Tipo de dados: matriz |
| <String>.additionalCommittedRelations.className | O sys_class_name deste IC de relacionamento dependente adicional. Tipo de dados: cadeia de caracteres Somente o valor compatível: cmdb_rel_ci: a tabela Relacionamento de IC. |
| <String>.additionalCommittedRelations.errorCount | Número de erros encontrados ao processar este IC de relacionamento dependente adicional. Tipo de dados: número |
| <String>.additionalCommittedRelations.errors | Matriz de objetos que descreve os erros encontrados ao processar este IC de relacionamento dependente adicional. Tipo de dados: matriz |
| <String>.additionalCommittedRelations.errors.error | Tipo de erro encontrado ao processar o IC de relacionamento dependente adicional. Tipo de dados: cadeia de caracteres |
| <String>.relaçóescomprometidaadicionais.mensagem.erros | A mensagem de erro encontrada ao processar este IC de relacionamento dependente adicional. Tipo de dados: cadeia de caracteres |
| <String>.relaçóescomprometidaadicionais.índicesdeentrada | Valores de índice para objetos de IC de relacionamento dependente na matriz do corpo da solicitação relations que correspondem a este IC de relacionamento dependente adicional. Tipo de dados: matriz |
| <String>.adicionaisRelaçõesConfirmadas.marcadores | Valores de marcador para uso interno. Tipo de dados: matriz |
| <String>.additionalCommittedRelations.mergedPayloadIds | Valores de Sys_id para cargas úteis parciais da tabela Cargas úteis parciais do CMDB IRE [cmdb_ire_partial_payloads] que foram mesclados para este IC. que foram mesclados durante o processamento deste IC de relacionamento dependente adicional. Tipo de dados: matriz |
| <String>.relaçãocomprometidaadicional.operação | Operação que foi realizada para o IC de relacionamento dependente adicional. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.hasError | Sinalizador que indica se algum item ou relação tem erros. Tipo de dados: booliano |
| <String>.hasWarning | Sinalizador que indica se algum item ou relação tem avisos. Tipo de dados: booliano |
| <String>.itens | Matriz de objetos que descreve os ICs criados ou atualizados. Tipo de dados: matriz |
| <String>.items.adicionaisItensRelacionados | Lista de objetos JSON que fornecem informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga útil de entrada. Esses itens são de cargas úteis parciais. Tipo de dados: matriz |
| <String>.items.additionalRelatedItems.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.adicionaisItensRelacionados.InputIndices | Valores de índice para ICs da matriz do corpo da solicitação items que correspondem a este item relacionado. Tipo de dados: matriz de números |
| <String>.items.additionalRelatedItems.mergedPayloadIds | Lista de sys_ids das cargas úteis parciais que foram mescladas no item relacionado. Localizado na tabela Cargas úteis parciais do CMDB IRE [cmdb_ire_partial_payloads]. Tipo de dados: matriz |
| <String>.items.adicionaisItensRelacionados.operação | Tipo de operação. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.additionalRelatedItems.sysId | Sys_id do IC que foi atualizado ou criado. Tipo de dados: cadeia de caracteres |
| <String>.items.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesduplicados | Lista de índices de ICs que são duplicatas do item atual. Tipo de dados: matriz |
| <String>.items.contagemdeerros | Número de erros encontrados ao processar o item. Tipo de dados: número |
| <String>.items.erros | Matriz de objetos em que cada objeto descreve um erro encontrado ao processar este IC. Tipo de dados: matriz |
| <String>.items.erros.erro | Tipo de erro encontrado ao processar o IC. Tipo de dados: cadeia de caracteres |
| <String>.items.erros.mensagem | Mensagem de erro associada ao erro. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts | Lista de tentativas feitas para identificar os ICs. Tipo de dados: matriz |
| <String>.items.identificationAttempts.attemptResult | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.attributes | Lista de atributos de entrada do identificador de IC que foram usados durante o processo de identificação. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>items.identificationAttempts.hybridEntryCiAttributes | Lista de atributos de entrada do identificador de IC que foram usados durante o processo de identificação. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>.items.identificationAttempts.identifierName | Regra do identificador usada para esta tentativa de identificação de IC. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: cadeia de caracteres |
| <String>.items.identifierEntrySysId | Sys_id da regra do identificador usada para identificar o IC. Localizado na tabela Entrada do identificador [cmdb_identifier_entry]. Tipo de dados: cadeia de caracteres |
| <String>.items.SysIds incompletos | Se o item tiver erros e tiver sido salvo como uma carga incompleta, este parâmetro conterá o sys_id do registro na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: cadeia de caracteres |
| <String>.items.info | Lista de objetos que contém informações adicionais sobre o processamento do item. Tipo de dados: matriz |
| <String>.items.info.code | Tipo de reclassificação que foi ignorado. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.info.mensagem | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesdeentrada | Índices do IC de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para ICs relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: matriz de números |
| <String>.items.maskedAttributes | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada, conforme definido pelas Regras de reconciliação. Tipo de dados: matriz |
| <String>.items.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.IDsSistemaparciais | Se o item tiver erros e tiver sido salvo como uma carga útil parcial, este parâmetro conterá o sys_id do registro de carga útil parcial. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems | Lista de objetos JSON que descreve um IC relacionado (IC de pesquisa de tabela) da matriz do corpo da solicitação items.lookup. Tipo de dados: matriz |
| <String>.items.relatedItems.className | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.erros | Lista de erros que ocorreram durante o processamento do item relacionado. Tipo de dados: matriz |
| <String>.items.relatedItems.errors.error | Tipo de erro encontrado ao processar o item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.mensagem.erros | Mensagem de erro associada ao erro. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.errorCount | Número de erros detectados ao processar os itens relacionados. Tipo de dados: número |
| <String>.items.relatedItems.incompleteSysIds | Se a relação tiver erros e tiver sido salva como uma carga incompleta, esse valor será o sys_id do registro na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.IndicesDeEntrada | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: matriz de números ou matriz de objetos |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor de índice da matriz do corpo da solicitação items que corresponde ao IC primário do item relacionado. Tipo de dados: número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor de índice da matriz do corpo da solicitação items.lookup que corresponde ao item relacionado. Tipo de dados: número |
| <String>.items.relatedItems.mergedPayloadIds | Lista de sys_ids das cargas úteis parciais que foram mescladas no IC durante o processamento. Tipo de dados: matriz |
| <String>.items.Itens.relacionados.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.parcialSysIds | Se o item relacionado tiver erros e tiver sido salvo como uma carga útil parcial, ele conterá uma lista dos sys_ids dos registros associados na tabela Cargas úteis parciais do CMDB IRE [cmdb_ire_partial_payloads]. Tipo de dados: matriz |
| <String>.items.relatedItems.sysId | O sys_id do item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.warningCount | Número de avisos encontrados ao processar os itens relacionados. Tipo de dados: número |
| <String>.items.Itens.relacionados.avisos | Matriz de objetos que descreve um aviso encontrado ao processar os itens relacionados. Tipo de dados: matriz |
| <String>.items.relatedItems.warnings.error | Tipo de aviso encontrado ao processar o item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.avisos.mensagem | Mensagem associada ao aviso. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedSysIds | Lista dos valores de sys_id dos ICs usados durante a identificação baseada em pesquisa de itens relacionados. Tipo de dados: cadeia de caracteres |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: cadeia de caracteres |
| <String>.relations | Lista de objetos JSON que descrevem um IC de relacionamento dependente da matriz do corpo da solicitação relations. Tipo de dados: matriz |
| <String>.relations.className | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: tabela de relacionamento de IC. Tipo de dados: cadeia de caracteres |
| <String>.relations.errorCount | Número de erros encontrados ao processar o IC de relacionamento dependente. Tipo de dados: número |
| <String>.relations.errors | Matriz de objetos que descreve os erros encontrados ao processar este IC de relacionamento dependente. Tipo de dados: matriz |
| <String>.relations.errors.error | Tipo de erro encontrado ao processar o IC de relacionamento dependente. Tipo de dados: cadeia de caracteres |
| <String>.relations.errors.message | Mensagem de erro encontrada ao processar este IC de relacionamento dependente. Tipo de dados: cadeia de caracteres |
| <String>.relations.incompleteSysIds | Se a relação tiver erros e tiver sido salva como uma carga incompleta, esse valor será o sys_id do registro na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: cadeia de caracteres |
| <String>.relations.inputIndices | Índices dos objetos de IC de relacionamento dependente na matriz do corpo da solicitação relations que correspondem a este IC de relacionamento dependente. Tipo de dados: matriz |
| <String>.relations.operation | Tipo de operação realizada. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.relations.parcialSysIds | Se a relação tiver erros e tiver sido salva como uma carga útil parcial, esse valor será o sys_id do registro na tabela Cargas úteis parciais do IRE do CMDB [cmdb_ire_partial_payloads]. Tipo de dados: cadeia de caracteres |
| <String>.relations.sysId | Sys_id do IC de relacionamento dependente. Tipo de dados: cadeia de caracteres |
| <String>.summary | Lista de propriedades JSON que fornecem estatísticas sobre quantos itens foram inseridos, atualizados e outros, por classe. Tipo de dados: matriz |
| <String>.summary.<class_name> | Estatísticas para uma classe específica. Tipo de dados: objeto |
| <String>.summary.<class_name> .additionalInsertedItemCount | Número de itens inseridos devido ao processamento de cargas úteis parciais. Tipo de dados: número |
| <String>.summary.<class_name> .errorCount | Número de erros encontrados ao processar itens. Tipo de dados: número |
| <String>.summary.<class_name> .incompleteItemCount | Número de itens inseridos na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: número |
| <String>.summary.<class_name> .insertedItemCount | Número de itens criados. Tipo de dados: número |
| <String>.summary.<class_name> .partialItemCount | Número de itens salvos na tabela Carga Parcial [cmdb_ire_partial_payloads]. Tipo de dados: número |
| <String>.summary.<class_name> .skippedItemCount | Número de itens que foram ignorados. Tipo de dados: número |
| <String>.summary.<class_name> .unchangedItemCount | Número de itens que tinham entradas, mas não foram modificados. Tipo de dados: número |
| <String>.summary.<class_name> .updatedItemCount | Número de itens atualizados. Tipo de dados: número |
| <String>.summary.<class_name> .warningCount | Número de itens que geraram um aviso quando processados. Tipo de dados: número |
Identifique um IC dependente.
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, {});
Saída:
{
"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)
Determina a operação (inserção/atualização) a ser executada com a carga especificada sem confirmar a operação no banco de dados.
Isso funciona como createOrUpdateCI(), mas não confirma o resultado.
| Nome | Tipo | Descrição |
|---|---|---|
| Cadeia de caracteres json | Cadeia de caracteres | Uma cadeia de caracteres formatada em JSON de itens de configuração a serem adicionados ou atualizados. Cada cadeia de caracteres de entrada está no formato "itens: [{}], relações:[{}]", em que cada item nas listas de itens e relações contém pares de nome-valor. Os possíveis pares de nome-valor na lista de itens são:
Os possíveis pares de nome-valor na lista de relações são:
|
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Uma cadeia de caracteres no formato JSON que é uma lista de resultados. Cada cadeia de caracteres de resultado está no formato "itens: [{}], relações: [{}]", em que cada item nas listas de itens e relações contém pares de nome-valor. Os possíveis pares de nome-valor na lista de itens são:
Os possíveis pares de nome-valor na lista de relações são:
|
Identifique um IC independente com identificação baseada em pesquisa.
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);
Saída:
{
"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
}
Equivalente com escopo
Para usar o método identifyCI(String jsonString) em uma aplicação com escopo, use o método IdentificationEngine com escopo correspondente: identifyCI(String jsonString).
IdentificationEngineScriptableApi - identifyCIEnhanced(cadeia de caracteres de origem, entrada de cadeia de caracteres, opções de objeto)
Determina a operação Configuration Management Database (CMDB) (inserção/atualização) a ser executada com a carga especificada (corpo da solicitação) sem confirmar as operações no banco de dados.
Use este método para simular o envio de uma carga útil.
- Cargas úteis parciais
- No caso de um item ter um aviso ou erro, indica se uma operação de item é INSERT_AS_PARTIAL ou INSERT_INCOMPLETE.
- Retorna os sys_ids das cargas úteis parciais que foram mescladas com as cargas úteis parciais existentes.
- Oferece suporte ao recurso de desduplicação de carga.
- Gera um resumo.
| Nome | Tipo | Descrição |
|---|---|---|
| entrada | Cadeia de caracteres | Obrigatório. Carga de entrada. Uma cadeia de caracteres formatada em JSON de itens de configuração a serem adicionados ou atualizados. |
| Itens.Entrada | Matriz | Matriz de objetos que define os itens a serem adicionados ou atualizados. |
| input.items.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_ci_linux_server ou cmdb_ci_win_server. |
| input.items.display_values | Objeto | Campos de referência a serem criados ou atualizados para este item relacionado como pares de nome-valor, em que o nome é o nome do campo e o valor é o valor de exibição referenciado. Se você quiser usar o sys_id em vez do valor de exibição para campos de referência, passe as informações no parâmetro input.items.lookup.values em vez de neste parâmetro. Os nomes dos campos de referência dependem dos campos selecionados pelo usuário, como: |
| input.items.internal_id | Cadeia de caracteres | Identificador de item exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| entrada.pesquisa.itens. | Matriz | Identifica o item de nível superior que contém a pesquisa (identificação baseada em pesquisa). Esses registros são usados para identificar o item de configuração com base em uma tabela de pesquisa que tem uma referência a cmdb_ci. Por exemplo: |
| input.items.lookup.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_serial_number ou cmdb_ci_network_adapter. |
| input.items.lookup.internal_id | Cadeia de caracteres | Identificador de item de pesquisa exclusivo para a carga associada. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.lookup.sys_object_source_info | Objeto | Define um identificador de IC exclusivo para uma fonte de dados específica. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.lookup.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.lookup.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.lookup.sys_object_source_info.source_native_key | Cadeia de caracteres | ID de chave exclusivo para o item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.lookup.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data/hora UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| input.items.lookup.values | Objeto | Informações de campo para o IC como pares de nome-valor, em que o nome é o nome do campo. Ao atualizar campos de referência, o valor deve ser o sys_id referenciado. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.items.related | Matriz | Referência ao item de nível superior que contém a lista relacionada. As regras na Entrada relacionada [cmdb_related_entry] definem que tipo de registros podem estar nesta matriz. Esses registros são usados para adicionar itens com base em uma tabela relacionada que tem uma referência ao IC que está sendo identificado. A tabela relacionada pode ou não estender cmdb_ci. Esses registros não são usados para identificar o item de configuração. |
| input.items.related.className | Cadeia de caracteres | Obrigatório. Nome da classe/tabela, sys_class_name, do item de configuração (IC) a ser criado ou atualizado. Este valor pode ser qualquer classe/tabela CMDB, como cmdb_software_instance ou cmdb_key_value. |
| input.items.related.internal_id | Cadeia de caracteres | Identificador exclusivo para este item relacionado nesta carga útil. Pode ser qualquer valor, mas deve ser exclusivo na carga útil. |
| input.items.related.sys_object_source_info | Objeto | Objeto que compõe um identificador de IC exclusivo para uma fonte de dados especificada. Origens diferentes podem ter pares de nome-valor diferentes para o mesmo IC. |
| input.items.related.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.related.sys_object_source_info.source_name | Cadeia de caracteres | Identifica a fonte de dados das informações do IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.related.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva da origem do item relacionado. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.related.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: |
| input.items.related.values | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| Itens.Entrada.Configurações | Objeto | Parâmetros que definem os tipos de atualizações permitidas. |
| input.items.settings.skipReclassificationRestrictionRules | Booliano | Sinalizador que indica se o IRE não deve executar a regra de Restrição de Reclassificação que corresponde à classe do item de carga útil. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutDowngrade | Booliano | Sinalizador que indica se a atualização e o downgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutSwitch | Booliano | Sinalizador que indica se o item pode ser atualizado e a classe alternada. Valores válidos:
Padrão: falso |
| input.items.settings.updateWithoutUpgrade | Booliano | Sinalizador que indica se a atualização e o upgrade são permitidos para este item. Valores válidos:
Padrão: falso |
| input.items.sys_object_source_info | Objeto | Identificador de IC exclusivo para uma origem específica. |
| input.items.sys_object_source_info.source_feed | Cadeia de caracteres | Se a origem puder ter vários feeds, use este campo para fornecer o nome do feed que envia este item. A fonte de dados gera este nome de feed. Pode ser qualquer cadeia de caracteres que identifique exclusivamente o feed de origem. |
| input.items.sys_object_source_info.source_name | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| input.items.sys_object_source_info.source_native_key | Cadeia de caracteres | Chave/ID exclusiva do item da origem. A fonte de dados gera essa chave. Pode ser qualquer cadeia de caracteres exclusiva do item. |
| input.items.sys_object_source_info.source_recency_timestamp | Cadeia de caracteres | Data e hora em UTC em que o item foi verificado. Formato: AAAA-MM-DD hh:mm:ss |
| itens.entrada.valores | Objeto | Campos a serem criados ou atualizados para este item relacionado como pares de nome/valor, em que o nome é o nome do campo. Para um campo de referência, o valor deve ser o sys_id referenciado. Se você quiser usar o valor de exibição em vez do sys_id para campos de referência, passe essas informações em um objeto display_values em vez de no objeto values. Os nomes e os tipos de campo dependem dos campos selecionados pelo usuário, como: |
| input.referenceItems | Matriz | Matriz de objetos que definem referências entre itens na carga útil de entrada. |
| input.referenceItems.referenced | Cadeia de caracteres | O internal_id definido para o item que está sendo referenciado por outro item. |
| input.referenceItems.referencedBy | Cadeia de caracteres | O internal_id definido para o item que faz referência a outro item. |
| input.referenceItems.referenceField | Cadeia de caracteres | Nome do campo de referência na classe/tabela do item referencedBy. |
| input.relations | Matriz | Matriz de objetos que especifica relacionamentos entre itens na carga útil de entrada. Um objeto nesta matriz pode usar um dos dois formatos.
|
| input.relations.child | Número | Índice inteiro do objeto de IC na matriz items que representa o secundário no relacionamento (items, items.related ou items.lookup.) |
| input.relations.child_id | Cadeia de caracteres | O internal_id do item secundário na relação (items, items.related ou items.lookup.) |
| input.relations.parent | Número | Índice inteiro do item primário na matriz items (items, items.related ou items.lookup.) |
| input.relations.parent_id | Cadeia de caracteres | O internal_id do item primário na relação (items, items.related ou items.lookup.) |
| input.relations.sys_rel_source_info | Objeto | Informações de origem da descoberta para o relacionamento. Para relacionamentos de não dependência, essas informações são salvas na tabela Origens de relacionamento [sys_rel_source] (não persistentes para os métodos identifyCIEnhanced() ou identifyCI().) Tipo de dados: objeto |
| input.relations.sys_rel_source_info.source_name | Cadeia de caracteres | Nome da origem da descoberta. Padrão: origem da descoberta passada no parâmetro do método da API. |
| input.relations.sys_rel_source_info.source_feed | Cadeia de caracteres | Qualquer cadeia de caracteres que seja uma subdescoberta/verificação na origem da descoberta. Padrão: "UNKNOWN" é armazenado na coluna source_feed ao criar um registro na tabela sys_rel_source. |
| input.relations.type | Cadeia de caracteres | Tipo de relacionamento que existe entre os itens primários e secundários. Este deve ser um valor de campo de nome da tabela Tipo de relacionamento de IC [cmdb_rel_type]. |
| opções | Objeto | Opcional, mas {} ou nulo deve ser passado. Opções para habilitar ou desabilitar recursos. Nota:
Por padrão ou se partial_payloads for definido como verdadeiro, partial_commits e deduplicate_payloads serão habilitados, mesmo se forem definidos como falso, pois esses recursos são essenciais para a funcionalidade de cargas úteis parciais. |
| opções.deduplicate_payloads | Booliano | Sinalizador que indica se os itens duplicados são mesclados ou considerados erros. Valores válidos:
Padrão: verdadeiro |
| opções.generate_summary | Booliano | Sinalizador que indica se os resultados retornados contêm informações de resumo. Para obter os detalhes das informações de resumo retornadas, consulte <String>.summary na tabela de resultados de retorno. Valores válidos:
Padrão: falso |
| opções.parcial_commits | Booliano | Sinalizador que indica se o suporte de confirmação parcial está habilitado. Para obter informações adicionais sobre confirmações parciais, consulte Recursos de IRE aprimorados. Valores válidos:
Padrão: verdadeiro |
| opções.cargas_parciais | Booliano | Sinalizador que indica se o suporte de carga útil parcial está habilitado. Para obter informações adicionais sobre cargas úteis parciais, consulte Recursos de IRE aprimorados e Criar uma regra de fonte de dados de IRE. Valores válidos:
Padrão: verdadeiro |
| opções.skip_updating_last_scan_to_now | Booliano | Sinalizador que indica se a atualização do campo de hora last_scan de sys_object_source deve ser ignorada. Valores válidos:
Padrão: usa o valor na propriedade do sistema glide.identification_engine.skip_updating_last_scan_to_now. |
| opções.skip_updating_source_last_discovered_to_now | Booliano | Sinalizador que indica se a atualização dos campos discovery_source e last_discovered deve ser ignorada na tabela Item de configuração [cmdb_ci]. Valores válidos:
Padrão: usa o valor na propriedade do sistema glide.identification_engine.skip_updating_source_last_discovered_to_now. |
| origem | Cadeia de caracteres | Fonte de dados das informações de IC. Este valor deve ser um dos valores de opção definidos para o campo discovery_source da tabela Item de configuração [cmdb_ci]. |
| Tipo | Descrição |
|---|---|
| <String> | Cadeia de caracteres no formato JSON que é uma lista de resultados dos itens de configuração na cadeia de caracteres de entrada. Tipo de dados: cadeia de caracteres |
| <String>.additionalCommittedItems | Lista de ICs que foram confirmados durante o processamento de IRE da carga útil atual, mas não estavam presentes na carga útil de entrada atual. Tipo de dados: matriz |
| <String>.additionalCommittedRelations | Matriz de objetos que descreve um IC de relacionamento dependente que não foi incluído na lista de corpo da solicitação relations para inserir ou atualizar. Tipo de dados: matriz |
| <String>.hasError | Sinalizador que indica se algum item ou relação tem erros. Tipo de dados: booliano |
| <String>.hasWarning | Sinalizador que indica se algum item ou relação tem avisos. Tipo de dados: booliano |
| <String>.itens | Lista de objetos que descrevem os ICs criados ou atualizados. Tipo de dados: matriz |
| <String>.items.adicionaisItensRelacionados | Lista de objetos JSON que fornecem informações sobre pesquisa adicional e itens relacionados que foram processados, mas não fornecidos como parte da carga útil de entrada. Esses itens são de cargas úteis parciais. Tipo de dados: matriz |
| <String>.items.additionalRelatedItems.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.adicionaisItensRelacionados.InputIndices | Valores de índice para ICs da matriz do corpo da solicitação items que correspondem a este item relacionado. Tipo de dados: matriz de números |
| <String>.items.additionalRelatedItems.mergedPayloadIds | Lista de sys_ids das cargas úteis parciais que foram mescladas no item relacionado. Localizado na tabela Cargas úteis parciais do CMDB IRE [cmdb_ire_partial_payloads]. Tipo de dados: matriz |
| <String>.items.adicionaisItensRelacionados.operação | Tipo de operação. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.additionalRelatedItems.sysId | Sys_id do IC que foi atualizado ou criado. Tipo de dados: cadeia de caracteres |
| <String>.items.className | Nome da classe/tabela (sys_class_name) do IC que foi criado ou atualizado. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesduplicados | Lista de índices de ICs que são duplicatas do item atual. Tipo de dados: matriz |
| <String>.items.contagemdeerros | Número de erros encontrados ao processar o item. Tipo de dados: número |
| <String>.items.erros | Matriz de objetos em que cada objeto descreve um erro encontrado ao processar este IC. Tipo de dados: matriz |
| <String>.items.erros.erro | Tipo de erro encontrado ao processar o IC. Tipo de dados: cadeia de caracteres |
| <String>.items.erros.mensagem | A mensagem de erro encontrada ao processar o IC. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts | Lista de tentativas feitas para identificar os ICs. Tipo de dados: matriz |
| <String>.items.identificationAttempts.attemptResult | Resultados da tentativa de identificar o IC. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.attributes | Lista de atributos de entrada do identificador de IC que foram usados durante o processo de identificação. Tipo de dados: matriz Os nomes e os tipos de atributo dependem dos dados do corpo da solicitação e do identificador em uso, como: |
| <String>.items.identificationAttempts.identifierName | Regra do identificador usada para esta tentativa de identificação de IC. Tipo de dados: cadeia de caracteres |
| <String>.items.identificationAttempts.searchOnTable | Nome da tabela pesquisada durante o processo de identificação. Tipo de dados: cadeia de caracteres |
| <String>.items.identifierEntrySysId | Sys_id da regra do identificador usada para identificar o IC. Localizado na tabela Entrada do identificador [cmdb_identifier_entry]. Tipo de dados: cadeia de caracteres |
| <String>.items.info | Lista de objetos que contém informações adicionais sobre o processamento do item. Tipo de dados: matriz |
| <String>.items.info.code | Tipo de reclassificação que foi ignorado. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.info.mensagem | Mensagem que fornece informações adicionais sobre o motivo para ignorar a reclassificação. Tipo de dados: cadeia de caracteres |
| <String>.items.info.ruleSysId | Sys_id da regra de restrição de reclassificação que foi correspondida. Aplicável somente quando o IRE ignora a reclassificação devido à regra de restrição de reclassificação. Este valor ficará vazio se a reclassificação for ignorada devido a uma carga útil ou sinalizador global. Tipo de dados: cadeia de caracteres |
| <String>.items.índicesdeentrada | Índices do IC de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para ICs relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: matriz de números |
| <String>.items.maskedAttributes | Lista de atributos cuja atualização por uma fonte de dados não autorizada foi ignorada, conforme definido pelas Regras de reconciliação. Tipo de dados: matriz |
| <String>.items.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems | Lista de objetos JSON que fornecem informações sobre os itens relacionados processados. Tipo de dados: matriz |
| <String>.items.relatedItems.className | Nome da classe/tabela (sys_class_name) do item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.errorCount | Número de erros detectados ao processar os itens relacionados. Tipo de dados: número |
| <String>.items.Itens.relacionados.erros | Lista de erros que ocorreram durante o processamento do item relacionado. Tipo de dados: matriz |
| <String>.items.relatedItems.errors.error | Tipo de erro encontrado ao processar o item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.mensagem.erros | A mensagem de erro encontrada ao processar o item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.Itens.relacionados.IndicesDeEntrada | Índice do item de entrada correspondente. Para itens de nível superior, é uma lista de números inteiros. Para itens relacionados ou de pesquisa, é a lista de objetos JSON. Tipo de dados: matriz de números ou matriz de objetos |
| <String>.items.relatedItems.inputIndices.mainIndex | Valor de índice da matriz do corpo da solicitação items que corresponde ao IC primário do item relacionado. Tipo de dados: número |
| <String>.items.relatedItems.inputIndices.subIndex | Valor de índice da matriz do corpo da solicitação items.lookup que corresponde ao item relacionado. Tipo de dados: número |
| <String>.items.relatedItems.mergedPayloadIds | Lista de sys_ids das cargas úteis parciais que foram mescladas no IC durante o processamento. Tipo de dados: matriz |
| <String>.items.Itens.relacionados.operação | Operação que ocorreu. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.sysId | O sys_id do item relacionado. Tipo de dados: cadeia de caracteres |
| <String>.items.relatedItems.warningCount | Número de avisos encontrados ao processar os itens relacionados. Tipo de dados: número |
| <String>.items.Itens.relacionados.avisos | Matriz de objetos que descreve um aviso encontrado ao processar os itens relacionados. Tipo de dados: matriz |
| <String>.items.relatedSysIds | Lista dos valores de sys_id dos ICs usados durante a identificação baseada em pesquisa de itens relacionados. Tipo de dados: cadeia de caracteres |
| <String>.items.sys_id | Sys_id do IC que foi atualizado ou criado. Tipo de dados: cadeia de caracteres |
| <String>.relations | Lista de objetos JSON que fornece informações sobre as relações processadas. Tipo de dados: matriz |
| <String>.relations.className | Sys_class_name deste IC de relacionamento dependente. Somente valor compatível: cmdb_rel_ci: tabela de relacionamento de IC. Tipo de dados: cadeia de caracteres |
| <String>.relations.errorCount | Número de erros encontrados ao processar o IC de relacionamento dependente. Tipo de dados: número |
| <String>.relations.errors | Matriz de objetos que descreve os erros encontrados ao processar este IC de relacionamento dependente. Tipo de dados: matriz |
| <String>.relations.inputIndices | Índices dos objetos de IC de relacionamento dependente na matriz do corpo da solicitação relations que correspondem a este IC de relacionamento dependente. Tipo de dados: matriz |
| <String>.relations.operation | Tipo de operação realizada. Valores possíveis:
Tipo de dados: cadeia de caracteres |
| <String>.relations.sysId | Sys_id do IC de relacionamento dependente. Tipo de dados: cadeia de caracteres |
| <String>.summary | Lista de propriedades JSON que fornecem estatísticas sobre quantos itens foram inseridos, atualizados e outros, por classe. Tipo de dados: matriz |
| <String>.summary.<class_name> | Estatísticas para uma classe específica. Tipo de dados: objeto |
| <String>.summary.<class_name> .additionalInsertedItemCount | Número de itens inseridos devido ao processamento de cargas úteis parciais. Tipo de dados: número |
| <String>.summary.<class_name> .errorCount | Número de erros encontrados ao processar itens. Tipo de dados: número |
| <String>.summary.<class_name> .incompleteItemCount | Número de itens inseridos na tabela Cargas incompletas do IRE do CMDB [cmdb_ire_incomplete_payloads]. Tipo de dados: número |
| <String>.summary.<class_name> .insertedItemCount | Número de itens criados. Tipo de dados: número |
| <String>.summary.<class_name> .partialItemCount | Número de itens salvos na tabela Carga Parcial [cmdb_ire_partial_payloads]. Tipo de dados: número |
| <String>.summary.<class_name> .skippedItemCount | Número de itens que foram ignorados. Tipo de dados: número |
| <String>.summary.<class_name> .unchangedItemCount | Número de itens que tinham entradas, mas não foram modificados. Tipo de dados: número |
| <String>.summary.<class_name> .updatedItemCount | Número de itens atualizados. Tipo de dados: número |
| <String>.summary.<class_name> .warningCount | Número de itens que geraram um aviso quando processados. Tipo de dados: número |
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, {});
Saída:
{
"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)
Executa uma auditoria de identificação em relação ao item de configuração (IC) especificado para detectar duplicatas.
Se duplicatas forem encontradas, tarefas de duplicação serão criadas. Use este método somente em tipos de IC com regras de identificação independentes.
| Nome | Tipo | Descrição |
|---|---|---|
| now_GR | GlideRecord | IC no qual executar a auditoria para detectar duplicatas. O IC deve ter regras de identificação independentes. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como verificar se há tarefas duplicadas no servidor e cria uma tarefa duplicada de correção, se houver.
var grServer = new GlideRecord('cmdb_ci_server');
grServer.query();
while (grServer.next()) {
SNC.IdentificationEngineScriptableApi.runIdentificationAudit(grServer);
}
Equivalente com escopo
Para usar o método runIdentificationAudit(GlideRecord now_GR) em uma aplicação com escopo, use o método IdentificationEngine com escopo correspondente: runIdentificationAudit(GlideRecord now_GR).