// === Configuration === var tableName = 'x_ca_cmdb_azure_virtual_machine'; // === Columns === var fields = [ { label: 'Power State', name: 'x_ca_cmdb_ca10_powerstate_c', type: 'string' }, { label: 'Name', name: 'name', type: 'string' }, { label: 'Location Name', name: 'x_ca_cmdb_ca10_locationname_c', type: 'string' }, { label: 'Ram Gb', name: 'x_ca_cmdb_ca10_ramgb_c', type: 'decimal' }, { label: 'V Cpu', name: 'x_ca_cmdb_ca10_vcpu_c', type: 'decimal' }, { label: 'Role Size Name', name: 'x_ca_cmdb_ca10_rolesizename_c', type: 'string' }, { label: 'Id', name: 'x_ca_cmdb_ca10_id_c', type: 'string' }, { label: 'Os Type', name: 'x_ca_cmdb_ca10_ostype_c', type: 'string' }, { label: 'Vm Id', name: 'x_ca_cmdb_ca10_vmid_c', type: 'string' }, { label: 'Time Created', name: 'x_ca_cmdb_ca10_timecreated_c', type: 'glide_date_time' }, { label: 'Disappearance Time', name: 'x_ca_cmdb_ca10_disappearancetime_c', type: 'glide_date_time' }, { label: 'Ca Uuid', name: 'x_ca_cmdb_ca10_cauuid_c', type: 'string' }, { label: 'Last Imported At', name: 'last_imported_at', type: 'glide_date_time' }, { label: 'Outdated', name: 'outdated', type: 'boolean' } ]; fields.forEach(function(field) { var gr = new GlideRecord('sys_dictionary'); gr.addQuery('name', tableName); gr.addQuery('element', field.name); gr.query(); if (gr.next()) { gs.info('Field already exists: ' + field.name); } else { var f = new GlideRecord('sys_dictionary'); f.initialize(); f.name = tableName; f.element = field.name; f.column_label = field.label; f.internal_type = field.type; f.mandatory = false; f.active = true; f.insert(); gs.info('Created: ' + field.label + ' (' + field.name + ')'); } }); gs.info('All fields were created: ' + tableName);