- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-18-2023 01:38 AM
Hi Community,
When user selects some variables values as approved from the dropdowns on catalog task, i want to check some checkboxes on the cmdb_ci form.
For e.g., if xyz is selected as approved from the dropdown list, then it should check xyz checkbox on the cmdb_ci form before closing the request.
Thanks
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-27-2023 10:27 PM
Hi,
it was not working because you changed the variable names for GlideRecord (you were using 'grCI' it should be 'gr1')
Try below:
else if (current.variables.oat_type == 'Database') {
var server = [];
var mrvsParsed = JSON.parse(current.variables.doat_server_details.toString());
for (var x in mrvsParsed) {
server.push(mrvsParsed[x].server_name.toString());
}
//var server = current.variables.doat_server_details.server_name.toString();
gs.log("OAT Type: Database, Server Name: " + server, "YourScriptName");
workflow.info("OAT Type: Database, Server Name: " + server);
var gr1 = new GlideRecord('cmdb_ci');
//gr1.addQuery('name', server);
gr1.addEncodedQuery('sys_idIN' + server.toString());
gr1.query();
while (gr1.next()) {
if (current.variables.privilaged_account_onboarded_to_piam_confirmation_approval == 'accept') {
//gr1.u_tpam == true;
gr1.setValue('u_tpam', true);
}
if (current.variables.database_onboarded_to_siem_confirmation_approval == 'accept') {
//gr1.u_siem == true;
gr1.setValue('u_siem', true);
}
if (current.variables.cis_scan_nessus_scan_passed_confirmation_approval == 'accept') {
//gr1.u_nessus == true;
gr1.setValue('u_nessus', true);
}
if (current.variables.ds_am_av_and_network_protect_with_ips_policy_is_set_to_prevent_or_ms_defender_installed == 'accept') {
//gr1.u_av_am_ips == true;
//gr1.u_xdr == true;
gr1.setValue('u_av_am_ips', true);
gr1.setValue('u_xdr', true);
}
gr1.update();
gs.log("Updated your_multiline_text_variable_set_table record for Database - Sys ID: " + gr1.sys_id, "YourScriptName");
workflow.info("Updated your_multiline_text_variable_set_table record for Database - Sys ID: " + gr1.sys_id);
}
}
Thanks
Anil Lande
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2023 09:24 PM
Hello @Poorva Bhawsar,
Can you please share the code, so we can verify if anything is going wrong.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2023 09:30 PM
Here we go...

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2023 09:37 PM - edited 12-26-2023 09:41 PM
Hi @Poorva Bhawsar ,
use below:
if (current.variables.oat_type == 'Server') {
gs.info('Inside Server condition');
var answer = [];
var server_name = current.variables.server_name_s.toString();
var arr = server_name.split(',');
for (var i = 0; i < arr.length; ++i) {
var grCI = new GlideRecord('cmdb_ci');
grCI.addEncodedQuery('sys_idIN' + server_name.toString());
grCI.query();
while (grCI.next()) {
gs.log("Inside the loop");
//grCI.getValue('u_tpam');
if (current.variables.privilaged_account_onboarded_to_piam_confirmation_approval == 'accept') {
//grCI.setValue('u_tpam', true);
grCI.u_tpam == true;
}
if (current.variables.database_onboarded_to_siem_confirmation_approval == 'accept') {
grCI.u_siem == true;
}
if (current.variables.cis_scan_nessus_scan_passed_confirmation_approval == 'accept') {
grCI.u_nessus == true;
}
if (current.variables.ds_am_av_and_network_protect_with_ips_policy_is_set_to_prevent_or_ms_defender_installed == 'accept') {
grCI.u_av_am_ips == true;
grCI.u_xdr == true;
}
gs.log("OAT Type: Server, Server Name: " + server_name, "YourScriptName");
workflow.info("OAT Type: Server, Server Name: " + server_name);
grCI.update();
//answer.push(grCI.getUniqueValue());
gs.log("Updated cmdb_ci record for Server - Sys ID: " + grCI.sys_id, "YourScriptName");
workflow.info("Updated cmdb_ci record for Server - Sys ID: " + grCI.sys_id);
}
}
} else if (current.variables.oat_type == 'Database') {
var server = [];
var mrvsParsed = JSON.parse(current.variables.doat_server_details.toString());
for (var x in mrvsParsed) {
server.push(mrvsParsed[x].server_name.toString());
}
gs.log("OAT Type: Database, Server Name: " + server, "YourScriptName");
workflow.info("OAT Type: Database, Server Name: " + server);
var gr1 = new GlideRecord('cmdb_ci');
//gr1.addQuery('name', server);
gr1.addEncodedQuery('sys_idIN' + server);
gr1.query();
while (gr1.next()) {
if (current.variables.privilaged_account_onboarded_to_piam_confirmation_approval == 'accept') {
gr1.u_tpam == true;
}
if (current.variables.database_onboarded_to_siem_confirmation_approval == 'accept') {
gr1.u_siem == true;
}
if (current.variables.cis_scan_nessus_scan_passed_confirmation_approval == 'accept') {
gr1.u_nessus == true;
}
if (current.variables.ds_am_av_and_network_protect_with_ips_policy_is_set_to_prevent_or_ms_defender_installed == 'accept') {
gr1.u_av_am_ips == true;
gr1.u_xdr == true;
}
gr1.update();
gs.log("Updated your_multiline_text_variable_set_table record for Database - Sys ID: " + gr1.sys_id, "YourScriptName");
workflow.info("Updated your_multiline_text_variable_set_table record for Database - Sys ID: " + gr1.sys_id);
}
}
for "server" the grCi.update(); was outside while loop. So it was inserting new record.
Thanks
Anil Lande
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2023 10:43 PM
Hi Anil,
Thanks for the correction. Its working fine for the server. But its not working for database part.
Doat server details is a multi row variable set which contains 2 variables in it.
1. server name is a reference field.
2. DB names is a multi line text.
Whatever cis selected in server name field it should update those checkboxes accordingly.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-26-2023 10:47 PM
Instead of assigning the values as true. I have used setvalue and it worked fine for the servers but not for the databases.