PT
Español
English
Português
    core_company

    A classe “core_company” é exigida por diferentes classes do ServiceNow, no arquivo de configuração em que ela é referenciada, use o “mappingName” para designar como obterá seus valores de acordo com o campo que se refere a esta classe. Os atributos que são levados em consideração são os seguintes:

    • Nome
    • Fabricante
    • Fornecedor



    Os atributos da classe “core_company” mapeados para o arquivo de configuração assumem esta forma:

    {
      "searchBy": [
        "name"
      ],
      "name": "core_company",
      "fields": [
        {
          "type": "string",
          "name": "name",
          "mappingType": "Mapper",
          "mappingName": null,
          "isRequired": true,
          "classReference": null
        },
        {
          "type": "boolean",
          "name": "manufacturer",
          "mappingType": "Data",
          "mappingName": null,
          "isRequired": false,
          "classReference": null
        },
        {
          "type": "boolean",
          "name": "vendor",
          "mappingType": "Data",
          "mappingName": null,
          "isRequired": false,
          "classReference": null
        }
      ]
    }
    

    É importante notar que esta classe tem propriedades de “mappingType” = “Dados”, esse tipo de valor será registrado no “dataReference” no arquivo de configuração.

    Escreva a classe no arquivo de configuração com a classe que faz referência a ela, nesta classe “cmdb_ci_computer”

    {
      "dataReference": [
    
      ],
      "mapper": [
    
      ],
      "classCMDB": [
        {
          "searchBy": [
            "object_id"
          ],
          "name": "cmdb_ci_computer",
          "fields": [
            {
              "type": "string",
              "name": "manufacturer",
              "mappingType": "Reference",
              "mappingName": "CompanyManufactureReference",
              "isRequired": false,
              "classReference": "core_company"
            },
            {
              "type": "string",
              "name": "company",
              "mappingType": "Reference",
              "mappingName": "CompanyOwnerReference",
              "isRequired": false,
              "classReference": "core_company"
            }
          ]
        },
        {
          "searchBy": [
            "name"
          ],
          "name": "core_company",
          "fields": [
            {
              "type": "string",
              "name": "name",
              "mappingType": "Mapper",
              "mappingName": null,
              "isRequired": true,
              "classReference": null
            },
            {
              "type": "boolean",
              "name": "manufacturer",
              "mappingType": "Data",
              "mappingName": null,
              "isRequired": false,
              "classReference": null
            },
            {
              "type": "boolean",
              "name": "vendor",
              "mappingType": "Data",
              "mappingName": null,
              "isRequired": false,
              "classReference": null
            }
          ]
        }
      ]
    }
    

    A classe “core_company” é referenciada duas vezes. Isso não implica duplicar a classe na propriedade “classCMDB”, é adicionado apenas uma vez usando o comando “mappingName” que faz referência a “dataReference” e “mapper” para obter os valores da seguinte maneira:

    • EmpresaFabricanteReferência
    • CompanyOwnerReference
    {
      "dataReference": [
      ],
      "mapper": [
      ],
      "classCMDB": [
        {
          "searchBy": [
            "object_id"
          ],
          "name": "cmdb_ci_computer",
          "fields": [
            {
              "type": "string",
              "name": "manufacturer",
              "mappingType": "Reference",
              "mappingName": "CompanyManufactureReference",
              "isRequired": false,
              "classReference": "core_company"
            },
            {
              "type": "string",
              "name": "company",
              "mappingType": "Reference",
              "mappingName": "CompanyOwnerReference",
              "isRequired": false,
              "classReference": "core_company"
            }
          ]
        }
      ]
    }
    

    Para resolver o valor do “mappingName”: “CompanyOwnerReference” será criado estaticamente para todos os dispositivos relacionados ao “cmdb_ci_computer”; O valor que o atributo assumirá é registrado “fieldCMDB”: “nome” da classe “core_company” em “dataReference” da seguinte maneira:

    {
      "dataReference": [
        {
          "name": "CompanyOwnerReference",
          "fields": [
            {
              "value": "Aranda Software",
              "fieldCMDB": "name",
              "classDevice": [
                "Desktop"
              ]
            },
            {
              "value": "false",
              "fieldCMDB": "manufacturer",
              "classDevice": [
                "Desktop"
              ]
            },
            {
              "value": "false",
              "fieldCMDB": "vendor",
              "classDevice": [
                "Desktop"
              ]
            }
          ]
        }
      ],
      "mapper": [
    
      ],
      "classCMDB": [
    
      ]
    }
    

    Ele é adicionado dessa forma porque as APIs do Aranda DEVIDCE MANAGEMENT ADM não trazem as informações da empresa do proprietário.

    Juntando todas as configurações:

    {
      "dataReference": [
        {
          "name": "CompanyManufactureReference",
          "fields": [
            {
              "value": "false",
              "fieldCMDB": "manufacturer",
              "classDevice": [
                "Desktop"
    
              ]
            },
            {
              "value": "false",
              "fieldCMDB": "vendor",
              "classDevice": [
                "Desktop"
              ]
            }
          ]
        },
        {
          "name": "CompanyOwnerReference",
          "fields": [
            {
              "value": "Aranda Software",
              "fieldCMDB": "name",
              "classDevice": [
                "Desktop"
              ]
            },
            {
              "value": "false",
              "fieldCMDB": "manufacturer",
              "classDevice": [
                "Desktop"
              ]
            },
            {
              "value": "false",
              "fieldCMDB": "vendor",
              "classDevice": [
                "Desktop"
              ]
            }
          ]
        }
      ],
      "mapper": [
        {
          "name": "CompanyManufactureReference",
          "fields": [
            {
              "fieldDevice": "manufacturer",
              "fieldCMDB": "name"
            }
          ]
        }
      ],
      "classCMDB": [
        {
          "searchBy": [
            "object_id"
          ],
          "name": "cmdb_ci_computer",
          "fields": [
            {
              "type": "string",
              "name": "manufacturer",
              "mappingType": "Reference",
              "mappingName": "CompanyManufactureReference",
              "isRequired": false,
              "classReference": "core_company"
            },
            {
              "type": "string",
              "name": "company",
              "mappingType": "Reference",
              "mappingName": "CompanyOwnerReference",
              "isRequired": false,
              "classReference": "core_company"
            }
          ]
        },
        {
          "searchBy": [
            "name"
          ],
          "name": "core_company",
          "fields": [
            {
              "type": "string",
              "name": "name",
              "mappingType": "Mapper",
              "mappingName": null,
              "isRequired": true,
              "classReference": null
            },
            {
              "type": "boolean",
              "name": "manufacturer",
              "mappingType": "Data",
              "mappingName": null,
              "isRequired": false,
              "classReference": null
            },
            {
              "type": "boolean",
              "name": "vendor",
              "mappingType": "Data",
              "mappingName": null,
              "isRequired": false,
              "classReference": null
            }
          ]
        }
      ]
    }
    


    Exibir mapeamento de classe Ci ↪