i want my loop to run only once so that only the first person is displayed in the message
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-30-2023 07:45 AM
Hi,
I have written a code, my requirement is out of the 10 'managed by' field in an array, I don't want to run the loop, I just want to end after the first expression itself (i=0). Currently it is not showing any message. Kindly help.
var action = fd_data._1__get_catalog_variables.action;
var service_account_string = fd_data._1__get_catalog_variables.service_account_s; //string
var service_account_arr = service_account_string.split(","); //array
var service_account_name_arr = [];
for(var i = 0)
{
var gr = new GlideRecord('u_cmdb_ci_unix_service_account');
gr.addQuery('sys_id',service_account_arr[i]);
gr.query();
if(gr.managed_by != " "){
while(gr.next())
{
service_account_name_arr.push(gr.managed_by.name.toString());
}
}
}
var msg = "Your request has been approved by manager " + service_account_name_arr + ". Next Step: Catalog Task for Unix Security group.";
return msg;
Regards
Suman P.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-30-2023 08:15 AM
So if you'd like to run for the first element of the array service_account_arr, just force it as service_account_arr[0]
Let's try this adjustment.
var action = fd_data._1__get_catalog_variables.action;
var service_account_string = fd_data._1__get_catalog_variables.service_account_s; //string
var service_account_arr = service_account_string.split(","); //array
var service_account_name_arr = [];
var gr = new GlideRecord('u_cmdb_ci_unix_service_account');
gr.addQuery('sys_id', service_account_arr[0]); //First element in the array
gr.query();
if (gr.next()) {
service_account_name_arr.push(gr.managed_by.name.toString()); //or gr.getDisplayValue('managed_by');
}
var msg = "Your request has been approved by manager " + service_account_name_arr + ". Next Step: Catalog Task for Unix Security group.";
return msg;
Let me know if it works for you.
Cheers,
Tai Vu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-30-2023 08:40 AM
Please try this:
var action = fd_data._1__get_catalog_variables.action;
var service_account_string = fd_data._1__get_catalog_variables.service_account_s; //string
var service_account_arr = service_account_string.split(","); //array
var service_account_name_arr = [];
var gr = new GlideRecord('u_cmdb_ci_unix_service_account');
gr.get(service_account_arr[0]);
var msg = "Your request has been approved by manager " + gr.managed_by.name.toString() + ". Next Step: Catalog Task for Unix Security group.";
return msg;
If my answer solved your issue, please mark my answer as ✅ Correct & 👍Helpful based on the Impact.