- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2024 01:28 PM
I'm trying to gather users VP in their hierachy by going manager by manager until we find a job code of 11, then returning that value. I have an example going for me, but it isn't working.
var gr = new GlideRecord('incident');
gr.addEncodedQuery('state=2^assignment_group=c36b891cdbfb1b041eca3a92ba9619d6');
gr.query();
while(gr.next()) {
// I need to get assigned_to.manager of each record from query
var userGR = new GlideRecord('sys_user');
var hrProfileGR = new GlideRecord('sn_hr_core_profile');
var manager = '';
var validJobGroup = false;
if (userGR.get(user)) {
manager = userGR.manager;
while (!validJobGroup) {
if (hrProfileGR.get('user', manager)) {
if (hrProfileGR.get('user', manager)) {
if (hrProfileGR.position.u_job_group == 11) {
validJobGroup = true;
} else {
manager = hrProfileGR.user.manager;
// need to return assigned to name along with their vp here
gs.info("gr.assignedto.toString() + VP.toString());
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-10-2024 04:03 PM
Here's one I got working
var gr = new GlideRecord('incident');
gr.addEncodedQuery('state=2^assignment_group=c36b891cdbfb1b041eca3a92ba9619d6');
gr.query();
while(gr.next()) {
var user = gr.caller_id;
var validJobGroup = false;
var manager = user.manager;
while(manager.u_hr_profile.position.u_job_group != 11) {
manager = manager.manager;
if(manager.u_hr_profile.position.u_job_group == 11){
gs.info(user.getDisplayValue() + ' ' + manager.getDisplayValue() + ' ' + manager.u_hr_profile.position.u_job_group);
}
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2024 02:25 PM
I have made few correction. Can you try?
var gr = new GlideRecord('incident');
gr.addEncodedQuery('state=2^assignment_group=c36b891cdbfb1b041eca3a92ba9619d6');
gr.query();
while(gr.next()) {
// I need to get assigned_to.manager of each record from query
var user = gr.assigned_to.manager;
var userGR = new GlideRecord('sys_user');
var manager = '';
var validJobGroup = false;
if (userGR.get(user)) {
manager = userGR.manager;
while (!validJobGroup) {
var hrProfileGR = new GlideRecord('sn_hr_core_profile');
if (hrProfileGR.get('user', manager)) {
if (hrProfileGR.position.u_job_group == 11) {
validJobGroup = true;
} else {
manager = hrProfileGR.user.manager;
gs.info("gr.assignedto.toString() + VP.toString());
}
}
}
}
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2024 02:39 PM
error on line 23
gs.info("gr.assignedto.toString() + VP.toString());
var gr = new GlideRecord('incident'); gr.addEncodedQuery('state=2^assignment_group=c36b891cdbfb1b041eca3a92ba9619d6'); gr.query(); while(gr.next()) { // I need to get assigned_to.manager of each record from query var user = gr.assigned_to.manager; var userGR = new GlideRecord('sys_user'); var manager = ''; var validJobGroup = false; if (userGR.get(user)) { manager = userGR.manager; while (!validJobGroup) { var hrProfileGR = new GlideRecord('sn_hr_core_profile'); if (hrProfileGR.get('user', manager)) { if (hrProfileGR.position.u_job_group == 11) { validJobGroup = true; } else { manager = hrProfileGR.user.manager; gs.info("gr.assignedto.toString() + VP.toString()); } } } }

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2024 06:41 PM
can you remove that line and try?
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-04-2024 07:48 PM
Seems to be few issues with the code:
Variable user is not defined: In your script, user is referenced in if (userGR.get(user)), but it's not defined anywhere in the provided code. You need to ensure you're passing the correct user sys_id or some other identifier to fetch user records properly.
You're initializing GlideRecord objects for sys_user and sn_hr_core_profile, but you're not querying any records from them. You need to query records to fetch data from these tables.
var gr = new GlideRecord('incident');
gr.addEncodedQuery('state=2^assignment_group=c36b891cdbfb1b041eca3a92ba9619d6');
gr.query();
while (gr.next()) {
var assignedTo = gr.assigned_to;
var manager = '';
var validJobGroup = false;
var userGR = new GlideRecord('sys_user');
if (userGR.get(assignedTo)) {
manager = userGR.manager;
while (manager) {
var managerUserGR = new GlideRecord('sys_user');
if (managerUserGR.get(manager)) {
var hrProfileGR = new GlideRecord('sn_hr_core_profile');
if (hrProfileGR.get('user', managerUserGR.sys_id)) {
if (hrProfileGR.position.u_job_group == 11) {
validJobGroup = true;
break;
} else {
manager = managerUserGR.manager;
}
} else {
// Handle if HR profile not found for manager
break;
}
} else {
// Handle if manager user record not found
break;
}
}
} else {
// Handle if assigned user record not found
}
if (validJobGroup) {
gs.info("Assigned To: " + assignedTo.name + ", VP: " + managerUserGR.name);
}
}
Please Mark ✅Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.
Thanks