DuplicateTemplate - com escopo

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 26 min. de leitura
  • A API DuplicateTemplate fornece métodos para os usuários interagirem com modelos de desduplicação, impondo um conjunto de validações para cada método.

    A correção de tarefa de desduplicação pode ser mais demorada do que o desejável quando tratada individualmente. Os modelos de duplicação permitem agrupar um conjunto de tarefas duplicadas e executá-las juntas. Use a API DuplicateTemplate para criar e consumir modelos de desduplicação. Esta API é executada no namespace sn_cmdb e requer a função cmdb_dedup_admin para acessar.

    Quando uma instância detecta itens de configuração (ICs) duplicados durante a identificação e a reconciliação, ela agrupa cada conjunto de ICs duplicados em uma tarefa de desduplicação para revisão e correção. As tarefas de desduplicação fornecem detalhes sobre a duplicação, incluindo uma lista de todos os ICs duplicados. Para obter informações, consulte Duplicate CIs remediation.

    Consulte também: IdentificationEngine - com escopo

    Ciclo de vida do modelo
    1. Use o método CreateTemplate() para criar um modelo no estado de rascunho.
      Você pode usar os seguintes métodos para recuperar ou atualizar o modelo:
    2. Use o método publicarTemplate() para mover o modelo do estado de rascunho para o estado publicado.
      Nota:
      Use o método unPublishTemplate() para retornar um modelo publicado ao estado de rascunho e atualizar o modelo.
    3. Opcional. Use a inclusão de script CMDBDuplicateTemplateUtil para adicionar ou remover tarefas.
    4. Use o método runTemplate() para executar o modelo.

      Para cancelar uma tarefa em execução, use o método requestCancellation().

    5. Se o modelo não for mais necessário, você poderá descontinuar o modelo usando o método retirarTemplate().
    Como corrigir uma única tarefa usando um modelo
    Para corrigir uma única tarefa sem executar o modelo, você pode visualizar e corrigir tarefas de desduplicação.
    1. Use o método viewTemplate() para visualizar a correção de uma tarefa única com um modelo.
    2. Use o método remediateTask() para corrigir a tarefa de desduplicação com um modelo.

    DuplicateTemplate - canAddTasksToTemplate(Matriz taskIds, String templatId)

    Verifica se a lista de tarefas fornecida pode ser adicionada a um modelo.

    Use este método para determinar se as tarefas são adequadas para adicionar ao modelo. Por exemplo, o modelo especificado pode ser criado para o servidor de aplicações Tomcat, mas as tarefas de desduplicação especificadas são criadas para o servidor Linux. Essas tarefas não têm uma classe de modelo correspondente, portanto, não podem ser adicionadas ao modelo.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    taskIds Matriz Matriz de sys_ids das tarefas de desduplicação a serem adicionadas ao modelo.
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 2. Retorna
    Tipo Descrição
    Objeto Objeto de resultado que contém quais tarefas podem ser adicionadas, ignoradas ou com falha.
    {
      "success": [
        "<task_id_1>",
        "<task_id_2>",
        "<task_id_3>"
      ],
      "failed": [
        "<task_id_4>"
      ],
      "skipped": [
        "<task_id_5>"
      ]
    }
    falha Ocorreu um erro ao verificar se a tarefa é compatível com o modelo. Consulte também Detecting duplicate CIs.
    ignorado As tarefas são incompatíveis porque não têm uma classe de modelo correspondente, portanto, a tarefa foi ignorada.
    êxito A tarefa corresponde à classe do modelo e pode ser adicionada ao modelo.

    O exemplo a seguir mostra como verificar se há tarefas que podem ser adicionadas ao modelo.

    var taskIds = [];
    taskIds.push(<task_id_1>);
    taskIds.push(<task_id_2>);
    taskIds.push(<task_id_3>);
    
    var result = sn_cmdb.DuplicateTemplate.canAddTasksToTemplate(taskIds, <template_id>);
    
    gs.info('Success:' + result.success);
    gs.info('Failed:' + result.failed);
    gs.info('Skipped:' + result.skipped);

    Saída:

    Success: <task_id_1>
    Failed: <task_id_2>
    Skipped: <task_id_3>

    DuplicateTemplate - createTemplate(Modelo de objeto)

    Cria um modelo de desduplicação no estado de rascunho.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    modelo Objeto O objeto de modelo com diferentes opções para criar o modelo.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update Booliano Opcional. Sinalizador que indica se os atributos de IC principais são atualizados com valores nulos de ICs duplicados ao resolver conflitos de atributo para ICs em uma tarefa de desduplicação.
    Valores válidos:
    • verdadeiro: os atributos de IC principais são atualizados com valores nulos de ICs duplicados.
    • falso: os atributos do IC principal não são atualizados com valores nulos de ICs duplicados.

    Padrão: falso

    template.allow_master_ci_null_update Booliano Opcional. Inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.

    Sinalizador que indica se devem ser incluídas somente atualizações de ICs duplicados se o valor do IC principal for nulo.

    Valores válidos:
    • verdadeiro: inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.
    • falso: inclui atualizações de todos os ICs duplicados.

    Padrão: falso

    modelo.descrição Cadeia de caracteres Opcional. Descrição para armazenar mais informações sobre o modelo.
    template.duplicate_ci_action Cadeia de caracteres Opcional. Especifica se o IC duplicado deve ser excluído ou atualizado com valores personalizados exclusivos.
    Opções possíveis:
    • excluir
    • atualizar (requer especificar duplicate_ci_updates)
    template.duplicate_ci_updates Matriz Opcional, a menos que a configuração para duplicate_ci_action seja atualizar. Matriz de objetos que especifica como os valores de IC duplicados são atualizados.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.element Cadeia de caracteres O nome do dicionário do sistema de um campo de referência.
    template.duplicate_ci_updates.element_label Cadeia de caracteres O rótulo que o campo de referência exibe.
    template.duplicate_ci_updates.value Cadeia de caracteres Valor para um campo de referência, ou seja, o conteúdo do campo de referência.
    template.duplicate_ci_updates.display Cadeia de caracteres Valor de exibição para um campo de referência.
    template.master_ci_opção Cadeia de caracteres Opcional. Especifica como o IC principal é selecionado para uma tarefa de desduplicação ao aplicar este modelo.
    Opções possíveis:
    • condicional (deve especificar master_ci_condition)
    • most_related_items – Atributos a serem mesclados do IC com os itens mais relacionados ao IC principal.
    • most_relations — Atributos a serem mesclados do IC com o maior número de relacionamentos com o IC principal.
    • new_created – atributos separados a serem mesclados do IC atualizado mais recentemente para o IC principal.
    • mais antigo_created – Atributos separados por vírgula a serem mesclados do IC mais antigo criado com o IC principal.
    condição template.master_ci_ Cadeia de caracteres Opcional (necessário se o valor de master_ci_option for condicional). Consulta codificada para especificar como o IC principal é selecionado. Se vários ICs ou nenhum IC corresponder à consulta, o método selecionará o IC atualizado mais recentemente como o IC principal. A consulta codificada é avaliada para a tabela de modelos. Esta tabela é identificada na propriedade table.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.merge_relations Cadeia de caracteres Opcional. Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum
    template.merge_relations Cadeia de caracteres Opcional. Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum
    template.merge_relations_​condition Cadeia de caracteres Opcional (necessário se o valor de merge_relations for condicional). Consulta codificada para especificar se todos ou nenhum relacionamento de ICs duplicados serão mesclados. A consulta é avaliada no IC principal selecionado para a tarefa de desduplicação. Se a consulta retornar verdadeiro, todos os relacionamentos serão mesclados. Se falso, nenhum relacionamento será mesclado.

    A consulta codificada é avaliada para a tabela de modelos. Esta tabela é identificada na propriedade table.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.merge_related_items Cadeia de caracteres Opcional. Especifica quais tabelas relacionadas a ICs duplicados em uma tarefa de desduplicação são mescladas com o IC principal ao aplicar este modelo. Consulte também Remediate a de-duplication task (legacy).
    Opções possíveis:
    • all_available – Inclui as tabelas relacionadas ao padrão e todas as tabelas relacionadas que fazem referência a ICs duplicados para a tarefa de desduplicação corrigida por meio do modelo.
    • condicional
    • padrão – inclui entradas relacionadas fornecidas pelo módulo Itens relacionados padrão do remediador de ICs duplicados.
    • nenhum
    template.merge_related_items_​condition Matriz Opcional. Lista de entradas relacionadas com uma consulta codificada para cada entrada relacionada. Cada consulta é avaliada no IC principal selecionado para a tarefa. Se a consulta retornar verdadeiro, as entradas relacionadas serão mescladas durante a correção de uma tarefa de desduplicação. Se for falso, as entradas relacionadas não serão mescladas.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.most_relations_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC com mais relacionamentos com o IC principal.
    template.most_related_items_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC com os itens mais relacionados ao IC principal.
    template.name Cadeia de caracteres Nome do modelo.
    template.newest_updated_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC atualizado mais recentemente com o IC principal.
    template.oldest_created_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC criado mais antigo com o IC principal.
    modelo.tabela Cadeia de caracteres Tabela para a qual o modelo é criado.
    modelo.condições_tarefa Cadeia de caracteres Opcional. Consulta codificada a ser avaliada quando o modelo é executado. Esta consulta é avaliada na tabela Reconciliar dados duplicados da tarefa [reconcile_duplicate_task_data]. Todas as tarefas retornadas desta consulta são consideradas durante a avaliação do modelo.
    Nota:
    Mesmo que uma tarefa seja retornada como parte da consulta, isso não garante que a execução do modelo processe a tarefa. Outros fatores podem fazer com que a tarefa seja ignorada durante o processamento do modelo.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    Tabela 4. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do modelo criado na tabela Reconciliar modelos duplicados [reconcile_duplicate_template].

    O exemplo a seguir mostra como criar um modelo de desduplicação.

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates":   [{
        "element": "ram",
        "element_label": "RAM (MB)",
        "value": "1024",
        "display": "1024"
      }],
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    var templateId = sn_cmdb.DuplicateTemplate.createTemplate(template);
    
    gs.info(templateId);

    Saída:

    8dfcd36e042b2510f877c1665753a485

    DuplicateTemplate - getTemplate(cadeia de caracteres templateId)

    Obtém o objeto do modelo.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 6. Retorna
    Tipo Descrição
    Objeto O objeto de modelo com diferentes opções para criar o modelo.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    <Object>.allow_null_ attribute_update Sinalizador que indica se os atributos de IC principais são atualizados com valores nulos de ICs duplicados ao resolver conflitos de atributo para ICs em uma tarefa de desduplicação.
    Valores válidos:
    • verdadeiro: os atributos de IC principais são atualizados com valores nulos de ICs duplicados.
    • falso: os atributos do IC principal não são atualizados com valores nulos de ICs duplicados.

    Tipo de dados: booliano

    <Object>.allow_master_ci_null_update Inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.
    Valores válidos:
    • verdadeiro: inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.
    • falso: inclui atualizações de todos os ICs duplicados.

    Tipo de dados: booliano

    <Object>.descrição Descrição para armazenar mais informações sobre o modelo.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicate_ci_action Especifica se o IC duplicado deve ser excluído ou atualizado com valores personalizados exclusivos.
    Opções possíveis:
    • excluir
    • atualizar (requer especificar duplicate_ci_updates)

    Tipo de dados: cadeia de caracteres

    <Object>.duplicate_ci_updates Matriz de objetos que especifica como os valores de IC duplicados são atualizados.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    Tipo de dados: objeto

    <Object>.duplicateCIUpdates.element O nome do dicionário do sistema de um campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateCIUpdates.element_label O rótulo que o campo de referência exibe.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateCIUpdates.value Valor para um campo de referência, ou seja, o conteúdo do campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateICUpdates.display Valor de exibição para um campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>Opção .master_ci_ Especifica como o IC principal é selecionado para uma tarefa de desduplicação ao aplicar este modelo.
    Opções possíveis:
    • condicional (deve especificar master_ci_condition)
    • most_related_items – Atributos a serem mesclados do IC com os itens mais relacionados ao IC principal.
    • most_relations — Atributos a serem mesclados do IC com o maior número de relacionamentos com o IC principal.
    • new_created – atributos separados a serem mesclados do IC atualizado mais recentemente para o IC principal.
    • mais antigo_created – Atributos separados por vírgula a serem mesclados do IC mais antigo criado com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.merge_relations Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum

    Tipo de dados: cadeia de caracteres

    <Object>.merge_related_items Especifica quais tabelas relacionadas a ICs duplicados em uma tarefa de desduplicação são mescladas com o IC principal ao aplicar este modelo. Consulte também Remediate a de-duplication task (legacy).
    Opções possíveis:
    • all_available – Inclui as tabelas relacionadas ao padrão e todas as tabelas relacionadas que fazem referência a ICs duplicados para a tarefa de desduplicação corrigida por meio do modelo.
    • condicional
    • padrão – inclui entradas relacionadas fornecidas pelo módulo Itens relacionados padrão do remediador de ICs duplicados.
    • nenhum

    Tipo de dados: cadeia de caracteres

    <Object>Condição .merge_related_items_ Lista de entradas relacionadas com uma consulta codificada para cada entrada relacionada. Cada consulta é avaliada no IC principal selecionado para a tarefa. Se a consulta retornar verdadeiro, as entradas relacionadas serão mescladas durante a correção de uma tarefa de desduplicação. Se for falso, as entradas relacionadas não serão mescladas.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    Tipo de dados: matriz

    <Object>.most_relations_ merge_attributes Atributos separados por vírgulas a serem mesclados do IC com mais relacionamentos com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.most_related_items_ merge_attributes Atributos separados por vírgulas a serem mesclados do IC com os itens mais relacionados ao IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.nome Nome do modelo.

    Tipo de dados: cadeia de caracteres

    <Object>.newest_updated_ merge_attributes Atributos separados por vírgulas a serem mesclados do IC atualizado mais recentemente com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.oldest_created_ merge_attributes Atributos separados por vírgulas a serem mesclados do IC criado mais antigo com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.tabela Tabela para a qual o modelo é criado.

    Tipo de dados: cadeia de caracteres

    <Object>.task_condition_table Local das condições da tarefa da tabela, ou seja, a tabela Reconciliar dados duplicados da tarefa [reconcile_duplicate_task_data]. O valor nunca muda e a tabela se destina somente ao uso interno.

    Tipo de dados: cadeia de caracteres

    <Object>.task_conditions Consulta codificada a ser avaliada quando o modelo é executado. Esta consulta é avaliada na tabela Reconciliar dados duplicados da tarefa [reconcile_duplicate_task_data]. Todas as tarefas retornadas desta consulta são consideradas durante a avaliação do modelo.
    Nota:
    Mesmo que uma tarefa seja retornada como parte da consulta, isso não garante que a execução do modelo processe a tarefa. Outros fatores podem fazer com que a tarefa seja ignorada durante o processamento do modelo.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    Tipo de dados: cadeia de caracteres

    O exemplo a seguir mostra como recuperar um modelo.

    var template = sn_cmdb.DuplicateTemplate.getTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    Saída:

    {
      "most_relations_merge_attributes": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ",
      "duplicate_ci_updates": "org.mozilla.javascript.NativeArray@5d3b19ef",
      "description": "This is a Windows server template",
      "master_ci_option": "oldest_created",
      "merge_related_items": "conditional",
      "duplicate_ci_action": "delete",
      "newest_updated_merge_attributes": "",
      "merge_related_items_condition": [
        {
          "condition": "os_versionCONTAINSWindows",
          "related_entry": "incident.cmdb_ci"
        },
        {
          "condition": "ramCONTAINS1024",
          "related_entry": "change_request.cmdb_ci"
        }
      ],
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "task_condition_table": "reconcile_duplicate_task_data",
      "name": "Test Windows Template",
      "allow_null_attribute_update": false,
      "table": "cmdb_ci_win_server",
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "serial_number,os_version"
    }

    DuplicateTemplate - viewTemplate(cadeia de caracteres templateId, cadeia de caracteres taskId)

    Gera uma visualização de como diferentes opções de modelo foram aplicadas à tarefa de desduplicação e como ela deve ser corrigida.

    Este método valida todos os atributos necessários antes de gerar a visualização da tarefa usando o modelo. Os modelos podem ser criados ou atualizados sem especificar os atributos necessários. Os atributos necessários devem ser fornecidos para visualizar qualquer tarefa de desduplicação.

    Os seguintes atributos são necessários:
    • ação_ci_duplicada
    • opção_ci_mestre
    • mesclar_itens_relacionados
    • mesclar_relacionamentos
    • nome
    • tabela
    Nota:
    Embora este método valide todos os atributos, não há nenhum requisito para que o modelo esteja no estado publicado para uma visualização.

    Use o método remediateTask() para corrigir tarefas de desduplicação.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    taskId Cadeia de caracteres Sys_id da tarefa de desduplicação listada na tabela Corrigir tarefa duplicada [reconcile_duplicate_task].
    Tabela 8. Retorna
    Tipo Descrição
    Objeto Visualize o objeto com valores mostrando como as tarefas de desduplicação podem ser corrigidas usando o modelo.
    {
      "allClassCIMap": {Object},
      "duplicateCIAction": "String",
      "duplicateCIUpdates": [Array],
      "masterCI": "String",
      "mergeRelations": Boolean,
      "relatedTablesMerged": [Array],  
      "resolvedFieldCIMap": [Array],
      "taskId": "String",
      "tooManyDuplicates": Boolean
    }
    <Object>.allClassCIMap Lista de sys_ids dos ICs em uma tarefa de desduplicação, agrupados por classe de IC. Por exemplo, cmdb_ci_computer.
    "allClassCIMap": {
      "<ci_class_name>": [
        "<ci_sys_id_1>",
        "<ci_sys_id_2>"
      ]
    }

    Tipo de dados: objeto

    <Object>.duplicateCIAction Especifica se o IC duplicado deve ser excluído ou atualizado com valores personalizados exclusivos.
    Opções possíveis:
    • excluir
    • atualizar (requer especificar duplicate_ci_updates)

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateCIUpdates Matriz de objetos que especifica como os valores de IC duplicados são atualizados.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]

    Tipo de dados: matriz

    <Object>.duplicateCIUpdates.element O nome do dicionário do sistema de um campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateCIUpdates.element_label O rótulo que o campo de referência exibe.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateCIUpdates.value Valor para um campo de referência, ou seja, o conteúdo do campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>.duplicateICUpdates.display Valor de exibição para um campo de referência.

    Tipo de dados: cadeia de caracteres

    <Object>.masterCI Sys_id do IC selecionado como IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.mergeRelations Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum

    Tipo de dados: cadeia de caracteres

    <Object>.relatedTablesMerged Especifica quais tabelas relacionadas a ICs duplicados em uma tarefa de desduplicação são mescladas com o IC principal ao aplicar este modelo. Consulte também Remediate a de-duplication task (legacy).
    Opções possíveis:
    • all_available – Inclui as tabelas relacionadas ao padrão e todas as tabelas relacionadas que fazem referência a ICs duplicados para a tarefa de desduplicação corrigida por meio do modelo.
    • condicional
    • padrão – inclui entradas relacionadas fornecidas pelo módulo Itens relacionados padrão do remediador de ICs duplicados.
    • nenhum

    Tipo de dados: matriz

    <Object>.resolvedFieldCIMap Matriz de elementos a serem mesclados de ICs duplicados com o IC principal.
    "resolvedFieldCIMap": [
      {
        "element": "String",
        "sys_id": "String"
      }
    ]

    Tipo de dados: matriz

    <Object>.resolvedFieldCIMap.​elemento Nome do elemento a ser mesclado de um IC duplicado com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.resolvedFieldCIMap.​sys_id Sys_id do elemento a ser mesclado de um IC duplicado com o IC principal.

    Tipo de dados: cadeia de caracteres

    <Object>.taskId Sys_id da tarefa de desduplicação listada na tabela Corrigir tarefa duplicada [reconcile_duplicate_task].

    Tipo de dados: cadeia de caracteres

    <Object>.tooManyDuplicates Sinalizador que indica se a tarefa tem mais do que o número máximo de ICs. O limite é determinado pela comparação do valor da propriedade do sistema glide.duplicate_ci_ remediator.max.cis (valor padrão 1000 ICs).
    Valores válidos:
    • verdadeiro: o número de ICs da tarefa excede o número máximo de ICs.
    • falso: o número de ICs da tarefa não excede o número máximo de ICs.

    Tipo de dados: booliano

    O exemplo a seguir mostra como obter uma visualização da correção de desduplicação para um modelo especificado.

    var preview = sn_cmdb.DuplicateTemplate.previewTemplate("<template_id>", "<task_id>");
    gs.info(JSON.stringify(preview));

    Saída:

    {
      "taskId": "<task_id>",
      "masterCI": "<ci_sys_id_1>",
      "allClassCIMap": {
        "cmdb_ci_computer": [
          "<ci_sys_id_1>",
          "<ci_sys_id_2>"
        ]
      },
      "resolvedFieldCIMap": [
        {
          "element": "ram",
          "sys_id": "<ci_sys_id_2>"
        },
        {
          "element": "os_version",
          "sys_id": "<ci_sys_id_2>"
        }
      ],
      "mergeRelations": true,
      "relatedTablesMerged": [
        "incident.cmdb_ci",
        "change_request.cmdb_ci"
      ],
      "duplicateCIAction": "delete",
      "duplicateCIUpdates": [],
      "tooManyDuplicates": false
    }

    DuplicateTemplate - publicarTemplate(cadeia de caracteres templateId)

    Publica um modelo. Quando bem-sucedido, o modelo passa do estado de rascunho para o estado publicado.

    Este método valida todos os atributos necessários antes de publicar o modelo. Você pode criar ou atualizar modelos sem especificar os atributos necessários, mas os atributos devem ser fornecidos antes de publicar um modelo.

    Os seguintes atributos são necessários:
    • ação_ci_duplicada
    • opção_ci_mestre
    • mesclar_itens_relacionados
    • mesclar_relacionamentos
    • nome
    • tabela

    No estado publicado, você pode executar o modelo usando o método runTemplate().

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 10. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se o modelo foi publicado.

    Valores válidos:
    • verdadeiro: o modelo foi publicado.
    • falso: o modelo não foi publicado.

    O exemplo a seguir mostra como publicar um modelo e exibir resultados.

    var isPublished = sn_cmdb.DuplicateTemplate.publishTemplate('<template_id>');
    gs.info(isPublished);

    Saída:

    true

    DuplicateTemplate - remediateTask(cadeia de caracteres templateId, cadeia de caracteres taskId)

    Corrige uma tarefa de desduplicação usando o modelo.

    Se o modelo não estiver no estado publicado, ele não poderá ser executado e o método emitirá uma exceção.

    Use o método viewTemplate() para visualizar como as tarefas de desduplicação serão corrigidas.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    taskId Cadeia de caracteres Sys_id da tarefa de desduplicação listada na tabela Corrigir tarefa duplicada [reconcile_duplicate_task].
    Tabela 12. Retorna
    Tipo Descrição
    Cadeia de caracteres Se for bem-sucedido, o ID de resolução de mesclagem para correção da tarefa de desduplicação. Esta resolução de mesclagem identifica o sys_id de um registro na tabela Correção de ICs duplicados [cmdb_duplicate_ci_remediation]. Se malsucedido, o modelo pode não estar no estado publicado.

    O exemplo a seguir mostra como corrigir uma tarefa de desduplicação.

    var mergeResolutionId = sn_cmdb.DuplicateTemplate.remediateTask("<template_id>", "<task_id>");
    gs.info(mergeResolutionId);

    Saída:

    <merge_resolution_id>

    DuplicateTemplate - requestCancellation(String templateRunId)

    Cancela uma execução de modelo existente.

    Uma solicitação de cancelamento só poderá ser feita para uma execução de modelo se ela estiver no estado rascunho, pronto ou em execução.

    Depois de uma solicitação de cancelamento de execução de modelo, o estado de execução do modelo muda para o estágio intermediário Cancelamento solicitado.

    A execução deste método não cancela automaticamente as execuções de modelo no estado Pronto ou Rascunho. O estado de execução do modelo não muda para Cancelado até que todas as tarefas em execução sejam concluídas. Nesse ponto, todas as tarefas restantes preparadas para correção mudam de cancelamento solicitado para cancelado.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    templateRunId Cadeia de caracteres Sys_id da execução do modelo listada na tabela Execução do modelo de desduplicação [reconcile_duplicate_template_run].
    Tabela 14. Retorna
    Tipo Descrição
    Cadeia de caracteres

    Sinalizador que indica se a solicitação de cancelamento foi bem-sucedida.

    Valores válidos:
    • verdadeiro: a solicitação de cancelamento foi bem-sucedida.
    • falso: a solicitação de cancelamento não foi bem-sucedida.

    O exemplo a seguir mostra como cancelar uma execução de modelo e exibir se a operação foi bem-sucedida.

    var isCancelled = sn_cmdb.DuplicateTemplate.requestCancellation("487c67e2046b2510f877c1665753a4cc");
    gs.info(isCancelled);

    Saída:

    true

    DuplicateTemplate - retirarTemplate(cadeia de caracteres templateId)

    Descontinua um modelo.

    Use este método para mover um modelo para o estado de desativação se ele não for mais necessário.

    O modelo não pode ser descontinuado e o método gera uma exceção nas seguintes condições:
    • O modelo está no estado publicado.
    • O modelo está em execução ou programado para ser executado.
    Tabela 15. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 16. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o modelo foi descontinuado.
    Valores válidos:
    • verdadeiro: o modelo foi desativado.
    • falso: o modelo não pôde ser descontinuado porque estava em execução, programado para ser executado ou em estado publicado

    O exemplo a seguir mostra como desativar um modelo e exibir os resultados.

    var isRetired = sn_cmdb.DuplicateTemplate.retireTemplate(<template_id>);
    gs.info(isRetired);

    Saída:

    true

    DuplicateTemplate - runTemplate(cadeia de caracteres templateId)

    Programa uma execução de correção para um modelo de desduplicação no estado publicado. Um modelo pode ser executado várias vezes, mas você só pode programar uma execução de cada vez.

    Se o modelo não estiver no estado publicado, ele não poderá ser executado e o método emitirá uma exceção. Use o método publicarTemplate() para mover o modelo do estado de rascunho para o estado publicado.

    Para cancelar uma tarefa em execução, use o método requestCancellation().

    Tabela 17. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 18. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do modelo que foi executado listado na tabela Execução do modelo de desduplicação [reconcile_duplicate_template_run]. Se malsucedido, o modelo pode não estar no estado publicado.

    O exemplo a seguir mostra como programar uma execução para um modelo de desduplicação publicado.

    var template = sn_cmdb.DuplicateTemplate.runTemplate('<template_id>');
    gs.info(JSON.stringify(template));

    Saída:

    487c67e2046b2510f877c1665753a4cc

    DuplicateTemplate - unPublishTemplate(cadeia de caracteres templateId)

    Cancela a publicação de um modelo.

    Este método move o modelo do estado publicado para o estado de rascunho, o que permite a atualização do modelo. Não será possível cancelar a publicação do modelo se estiver em execução ou programado para ser executado.

    Tabela 19. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    Tabela 20. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se a publicação do modelo foi cancelada com sucesso.

    Valores válidos:
    • verdadeiro: a publicação do modelo foi cancelada com sucesso.
    • falso: a publicação do modelo não foi cancelada com sucesso. O modelo pode estar em execução ou programado para ser executado.

    O exemplo a seguir mostra como cancelar a publicação de um modelo e exibir os resultados.

    var isUnPublished = sn_cmdb.DuplicateTemplate.unPublishTemplate(<template_id>);
    gs.info(isUnPublished);

    Saída:

    true

    DuplicateTemplate - updateTemplate(cadeia de caracteres templateId, modelo de objeto)

    Atualiza um modelo de desduplicação no estado de rascunho.

    Tabela 21. Parâmetros
    Nome Tipo Descrição
    templateId Cadeia de caracteres Sys_id do modelo listado na tabela Reconciliar modelo duplicado [reconcile_duplicate_template].
    modelo Objeto O objeto de modelo com diferentes opções para criar o modelo.
    {
      "allow_master_ci_null_update": Boolean,
      "allow_null_attribute_update": Boolean,
      "description": "String",
      "duplicate_ci_action": "String",
      "duplicate_ci_updates": [Array],
      "master_ci_condition": "String",
      "master_ci_option": "String",
      "merge_related_items": "String",
      "merge_related_items_condition": [Array],
      "merge_relations_condition": "String",
      "merge_relations": "String",
      "most_related_items_merge_attributes": "String",
      "most_relations_merge_attributes": "String",
      "name": "String",
      "newest_updated_merge_attributes": "String",
      "oldest_created_merge_attributes": "String",
      "table": "String",
      "task_conditions": "String"
    }
    template.allow_null_attribute_update Booliano Opcional. Sinalizador que indica se os atributos de IC principais são atualizados com valores nulos de ICs duplicados ao resolver conflitos de atributo para ICs em uma tarefa de desduplicação.
    Valores válidos:
    • verdadeiro: os atributos de IC principais são atualizados com valores nulos de ICs duplicados.
    • falso: os atributos do IC principal não são atualizados com valores nulos de ICs duplicados.

    Padrão: falso

    template.allow_master_ci_null_update Booliano Opcional. Inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.

    Sinalizador que indica se devem ser incluídas somente atualizações de ICs duplicados se o valor do IC principal for nulo.

    Valores válidos:
    • verdadeiro: inclui somente atualizações de ICs duplicados se o valor do IC principal for nulo.
    • falso: inclui atualizações de todos os ICs duplicados.

    Padrão: falso

    modelo.descrição Cadeia de caracteres Opcional. Descrição para armazenar mais informações sobre o modelo.
    template.duplicate_ci_action Cadeia de caracteres Opcional. Especifica se o IC duplicado deve ser excluído ou atualizado com valores personalizados exclusivos.
    Opções possíveis:
    • excluir
    • atualizar (requer especificar duplicate_ci_updates)
    template.duplicate_ci_updates Matriz Opcional, a menos que a configuração para duplicate_ci_action seja atualizar. Matriz de objetos que especifica como os valores de IC duplicados são atualizados.
    [
      {
        "element": "String",
        "element_label": "String",
        "value": "String",
        "display": "String"
      }
    ]
    template.duplicate_ci_updates.element Cadeia de caracteres O nome do dicionário do sistema de um campo de referência.
    template.duplicate_ci_updates.element_label Cadeia de caracteres O rótulo que o campo de referência exibe.
    template.duplicate_ci_updates.value Cadeia de caracteres Valor para um campo de referência, ou seja, o conteúdo do campo de referência.
    template.duplicate_ci_updates.display Cadeia de caracteres Valor de exibição para um campo de referência.
    template.master_ci_opção Cadeia de caracteres Opcional. Especifica como o IC principal é selecionado para uma tarefa de desduplicação ao aplicar este modelo.
    Opções possíveis:
    • condicional (deve especificar master_ci_condition)
    • most_related_items – Atributos a serem mesclados do IC com os itens mais relacionados ao IC principal.
    • most_relations — Atributos a serem mesclados do IC com o maior número de relacionamentos com o IC principal.
    • new_created – atributos separados a serem mesclados do IC atualizado mais recentemente para o IC principal.
    • mais antigo_created – Atributos separados por vírgula a serem mesclados do IC mais antigo criado com o IC principal.
    condição template.master_ci_ Cadeia de caracteres Opcional (necessário se o valor de master_ci_option for condicional). Consulta codificada para especificar como o IC principal é selecionado. Se vários ICs ou nenhum IC corresponder à consulta, o método selecionará o IC atualizado mais recentemente como o IC principal. A consulta codificada é avaliada para a tabela de modelos. Esta tabela é identificada na propriedade table.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.merge_relations Cadeia de caracteres Opcional. Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum
    template.merge_relations Cadeia de caracteres Opcional. Especifica como os relacionamentos de ICs duplicados em uma tarefa de desduplicação são mesclados ao aplicar este modelo.
    Opções possíveis:
    • todos
    • condicional
    • nenhum
    template.merge_relations_​condition Cadeia de caracteres Opcional (necessário se o valor de merge_relations for condicional). Consulta codificada para especificar se todos ou nenhum relacionamento de ICs duplicados serão mesclados. A consulta é avaliada no IC principal selecionado para a tarefa de desduplicação. Se a consulta retornar verdadeiro, todos os relacionamentos serão mesclados. Se falso, nenhum relacionamento será mesclado.

    A consulta codificada é avaliada para a tabela de modelos. Esta tabela é identificada na propriedade table.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.merge_related_items Cadeia de caracteres Opcional. Especifica quais tabelas relacionadas a ICs duplicados em uma tarefa de desduplicação são mescladas com o IC principal ao aplicar este modelo. Consulte também Remediate a de-duplication task (legacy).
    Opções possíveis:
    • all_available – Inclui as tabelas relacionadas ao padrão e todas as tabelas relacionadas que fazem referência a ICs duplicados para a tarefa de desduplicação corrigida por meio do modelo.
    • condicional
    • padrão – inclui entradas relacionadas fornecidas pelo módulo Itens relacionados padrão do remediador de ICs duplicados.
    • nenhum
    template.merge_related_items_​condition Matriz Opcional. Lista de entradas relacionadas com uma consulta codificada para cada entrada relacionada. Cada consulta é avaliada no IC principal selecionado para a tarefa. Se a consulta retornar verdadeiro, as entradas relacionadas serão mescladas durante a correção de uma tarefa de desduplicação. Se for falso, as entradas relacionadas não serão mescladas.
    "merge_related_items_condition": [
      {
        "related_entry": "String",
        "condition": "String"
      }
    ]

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    template.most_relations_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC com mais relacionamentos com o IC principal.
    template.most_related_items_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC com os itens mais relacionados ao IC principal.
    template.name Cadeia de caracteres Nome do modelo.
    template.newest_updated_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC atualizado mais recentemente com o IC principal.
    template.oldest_created_​merge_attributes Cadeia de caracteres Opcional. Atributos separados por vírgulas a serem mesclados do IC criado mais antigo com o IC principal.
    modelo.tabela Cadeia de caracteres Tabela para a qual o modelo é criado.
    modelo.condições_tarefa Cadeia de caracteres Opcional. Consulta codificada a ser avaliada quando o modelo é executado. Esta consulta é avaliada na tabela Reconciliar dados duplicados da tarefa [reconcile_duplicate_task_data]. Todas as tarefas retornadas desta consulta são consideradas durante a avaliação do modelo.
    Nota:
    Mesmo que uma tarefa seja retornada como parte da consulta, isso não garante que a execução do modelo processe a tarefa. Outros fatores podem fazer com que a tarefa seja ignorada durante o processamento do modelo.

    Para obter detalhes, consulte Cadeias de caracteres de consulta codificadas .

    Tabela 22. Retorna
    Tipo Descrição
    Booliano

    Sinalizador que indica se o modelo foi atualizado.

    Valores válidos:
    • verdadeiro: o modelo foi atualizado.
    • falso: o modelo foi atualizado. O modelo pode não estar no estado de rascunho (não publicado).

    O exemplo a seguir mostra como atualizar várias propriedades de um modelo de desduplicação existente.

    var template = {
      "name": "Test Windows Template",
      "table": "cmdb_ci_win_server",
      "description": "This is a windows server template",
      "master_ci_option": "newest_updated",
      "master_ci_condition": "",
      "allow_null_attribute_update": false,
      "allow_master_ci_null_update": false,
      "oldest_created_merge_attributes": "",
      "newest_updated_merge_attributes": "ram,cpu_count",
      "most_relations_merge_attributes": "",
      "most_related_items_merge_attributes": "",
      "merge_relations": "all",
      "merge_relations_condition": "",
      "merge_related_items": "conditional",
      "merge_related_items_condition": [
        {
          "related_entry": "change_request.cmdb_ci",
          "condition": "ramCONTAINS1024"
        },
        {
          "related_entry": "incident.cmdb_ci",
          "condition": "os_versionCONTAINSWindows"
        }
      ],
      "duplicate_ci_action": "delete",
      "duplicate_ci_updates": "",
      "task_conditions": "category=attribute^key=serial_number^value=E2BX1^EQ"
    };
    
    sn_cmdb.DuplicateTemplate.updateTemplate(<template_id>, template);

    Saída:

    true