CIRelatedList - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • . CIRelatedList Inclusão de script é uma classe de utilitário que fornece métodos para trabalhar com listas relacionadas de item de configuração (IC).

    Cada instância desta inclusão de script contém os detalhes de uma única lista relacionada a um IC específico. Os detalhes desta lista e o conteúdo da lista são incluídos.

    Use com qualquer script de descoberta do lado do servidor.

    CIRelatedList - addRec (registro de objeto)

    Adiciona o registro especificado à lista relacionada.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    registro Objeto Cada membro no objeto é um nome de coluna na tabela associada. Por exemplo, se fizer referência à tabela cmdb_serial_number, este valor poderá conter algo semelhante ao seguinte:

    "Serial_number_type":"bios","serial_number":"1BC5E4z89246", "valid":"true"

    Tabela 2. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como adicionar um registro a uma lista relacionada de ICs.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = {"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"};
    rl.addRec(sr); // Add the related list. Sets the given records to the related list.
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Saída:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList - addRecs (registros de matriz)

    Define os registros fornecidos para a lista relacionada.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    registros Matriz de objetivos Cada objeto representa um registro na tabela associada. Cada membro no objeto é um nome de coluna nessa tabela. Por exemplo, se fizer referência à tabela cmdb_serial_number, este valor poderá conter algo semelhante ao seguinte:

    "Serial_number_type":"bios","serial_number":"1BC5E4z89246", "valid":"true", "serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"]

    Tabela 4. Retornos
    Tipo Descrição
    vazio

    Este exemplo mostra como adicionar vários registros a uma lista relacionada de ICs.

    var ciDataObj = new CIData(); // Instantiate a new CIData class object
    
    // sys_id of the CI to which the related list is attached.
    var rl = new CIRelatedList('cmdb_serial_number', 'cmdb_ci','0c43b0f5c6112275019abd2bb3dcd78f','true');
    
    // Create an object and add the serial numbers
    var sr = [{"serial_number_type":"bios","serial_number":"1BC5E4z89246","valid":"true"},{"serial_number_type":"baseboard","serial_number":"w4z89246","valid":"true"}];
    
    rl.addRecs(sr); // Add the related list. Sets the given records to the related list.
    
    ciDataObj.addRelatedList(rl); // Adding the related list to the cidata
    gs.info(JSON.stringify(rl, null, 4)); // Display the added related list

    Saída:

    {
      "GlideRecordUtil": {},
      "ignoreFields": {
        "sys_created_by": true,
        "sys_updated_by": true,
        "sys_mod_count": true
      },
      "records": [
        {
          "serial_number_type": "bios",
          "serial_number": "1BC5E4z89246",
          "valid": "true"
        },
        {
          "serial_number_type": "baseboard",
          "serial_number": "w4z89246",
          "valid": "true"
        }
      ],
      "m2m_records": [],
      "table_name": "cmdb_serial_number",
      "field_name": "cmdb_ci",
      "cmdb_ci": "0c43b0f5c6112275019abd2bb3dcd78f",
      "debug_flag": "true",
      "isM2M": false,
      "target_table_name": null,
      "target_ref_field_name": null
    }

    CIRelatedList - appendXMLChildFld(cadeia de caracteres primária, nome da cadeia de caracteres, datum da cadeia de caracteres)

    Anexa um XML secundário a um campo.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    primário Cadeia de caracteres O elemento primário
    nome Cadeia de caracteres O nome do elemento
    referência Cadeia de caracteres Os dados a serem anexados
    Tabela 6. Retornos
    Tipo Descrição
    vazio

    CIRelatedList - appendXMLChildRecord (cadeia de caracteres primária, nome da cadeia de caracteres, registro da cadeia de caracteres)

    Anexa um XML secundário a um registro.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    primário Cadeia de caracteres O elemento primário
    nome Cadeia de caracteres O nome do elemento
    registro Cadeia de caracteres O registro
    Tabela 8. Retornos
    Tipo Descrição
    vazio

    CIRelatedList - checkSysCollection()

    Verifica se esta é uma tabela SysCollection. Se estiver, define o nome da tabela de destino e o nome do campo de referência.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 10. Retorna
    Tipo Descrição
    CIRelatedList Uma instância de CIRelatedList para a lista especificada.

    CIRelatedList - checkSysM2M()

    Verifica se esta é uma tabela do sistema muitos para muitos. Se estiver, define o nome da tabela de destino e o nome do campo de referência.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 12. Retorna
    Tipo Descrição
    Booliano Verdadeiro se for uma tabela de sistema muitos para muitos; caso contrário, falso.

    CIRelatedList - Lista de ICRelatedList (tabela de cadeia de caracteres, cadeia de caracteres refField, cadeia de caracteres cmdb_ci, cadeia de caracteres debugFlag)

    Cria uma instância da classe CIRelatedList. Simplesmente constrói uma instância vazia sem argumentos.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    tabela Cadeia de caracteres A tabela que contém a lista relacionada. Se muitos para muitos, a tabela muitos para muitos.
    refField Cadeia de caracteres O campo de referência na tabela desta lista relacionada.
    cmdb_ci Cadeia de caracteres O sys_id do IC ao qual esta lista está relacionada.
    DebugFlag Cadeia de caracteres Se verdadeiro, o registro em log de depuração será habilitado.

    CIRelatedList - fromXML(Elemento de cadeia de caracteres)

    Inicializa esta instância a partir do elemento XML especificado.

    Tabela 14. Parâmetros
    Nome Tipo Descrição
    elemento Cadeia de caracteres Um elemento XML
    Tabela 15. Retornos
    Tipo Descrição
    vazio

    CIRelatedList - Preencher()

    Preenche this.records campo desta instância.

    Tabela 16. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 17. Retorna
    Tipo Descrição
    vazio

    CIRelatedList - toString (resultado da matriz)

    Faz uma representação de cadeia de caracteres desta instância, enviando cada linha para o final da matriz de resultado fornecida.

    Este método é chamado de CIData.toString() e assume que as linhas da lista relacionada devem ser recuadas dois espaços.

    Tabela 18. Parâmetros
    Nome Tipo Descrição
    resultado Matriz O resultado a ser convertido
    Tabela 19. Retornos
    Tipo Descrição
    vazio

    CIRelatedList - toXML (documento de cadeia de caracteres, elemento de cadeia de caracteres)

    Serializa esta instância para XML no documento fornecido e no elemento <rl>.

    Tabela 20. Parâmetros
    Nome Tipo Descrição
    documento Cadeia de caracteres O documento
    elemento Cadeia de caracteres O elemento rl
    Tabela 21. Retornos
    Tipo Descrição
    vazio

    CIRelatedList - remove()

    Remove todos os itens da lista relacionados.

    Tabela 22. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 23. Retorna
    Tipo Descrição
    vazio

    Este exemplo de código exclui os registros relacionados mapeados com os itens de IC com o nome *JEMPLOYEE-IBM. Este exemplo é para uma tabela não M2M.

    //Get a configuration item record which has a related list. Example:  CI items with the name = *JEMPLOYEE-IBM.
    var ciRecord = new GlideRecord("cmdb_ci_computer");
    ciRecord.addQuery("name", "*JEMPLOYEE-IBM");
    ciRecord.query();
    if (ciRecord.next()) {
    
        var relRecordTable = 'cmdb_ci_network_adapter'; // The table containing the related list (if many-to-many, the many-to-many table)
        var relRecordField = 'cmdb_ci'; // The reference field in the table for this related list
        var cmdb_ciHasRelRecord = ciRecord.sys_id; // The sys_id of the CI this list is related to.
        var debugFlag = 'true'; // True if debug logging is enabled.
    
        // Get the related record List
        var CIRelatedList = new CIRelatedList(relRecordTable, relRecordField, cmdb_ciHasRelRecord, debugFlag);
        CIRelatedList.remove(); // Delete all related records
    }

    CIRelatedList - xmlToRecord (Registros de cadeia de caracteres, elemento de cadeia de caracteres)

    Converte uma lista relacionada do XML para o formato de registro.

    Tabela 24. Parâmetros
    Nome Tipo Descrição
    registros Cadeia de caracteres O registro a ser criado
    elemento Cadeia de caracteres O elemento XML
    Tabela 25. Retornos
    Tipo Descrição
    vazio