How to add the users in group using schedule job
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2022 02:17 AM
Hi Team
I want to add the CI system manager of manager in group like (CMDB_USER) based on CI which are available in Check result table.
for this requirement i have written the code but it is not working when i add the line if (userArray[u].length > 0) then it is not working.
var arruser=[];
var gr= new GlideAggregate('sn_vulc_result');
gr.addAggregate('COUNT');
gr.groupBy('cmdb_ci');
gr.query();
gs.info("get Count:"+gr.getRowCount());
while(gr.next()){
var grCi= new GlideRecord('cmdb_ci');
grCi.addQuery('sys_id',gr.cmdb_ci);
grCi.query();
while (grCi.next()){
//gs.info("CI Manager:"+grCi.u_cimanager.manager.getDisplayValue());
arruser.push(grCi.u_cimanager.manager);
}
}
// new code will start here
var arrayUtil = new global.ArrayUtil();
userArray = arrayUtil.unique(arruser);
gs.warn('userArray.length after unique = ' + userArray.length);
var u;
for (u = 0; u < userArray.length; u++) {
//gs.info("print value1:"+userArray[u]);
if (userArray[u].length > 0){
var grGroupUser = new GlideRecord('sys_user_grmember');
var qGU1 = grGroupUser.addQuery('group', 'b85d44954a3623120004689b2d5dd60a');
qGU1.addCondition('user', userArray[u]);
grGroupUser.query();
if(!grGroupUser.hasNext()) {
grGroupUser.user = userArray[u];
grGroupUser.group = 'b85d44954a3623120004689b2d5dd60a';
grGroupUser.insert();
}
}
}
if i remove it this line then it is working but it is added one blank value .please let me know how i can stop to insert blank value.
var arruser=[];
var gr= new GlideAggregate('sn_vulc_result');
gr.addAggregate('COUNT');
gr.groupBy('cmdb_ci');
gr.query();
gs.info("get Count:"+gr.getRowCount());
while(gr.next()){
var grCi= new GlideRecord('cmdb_ci');
grCi.addQuery('sys_id',gr.cmdb_ci);
grCi.query();
while (grCi.next()){
//gs.info("CI Manager:"+grCi.u_cimanager.manager.getDisplayValue());
arruser.push(grCi.u_cimanager.manager);
}
}
// new code will start here
var arrayUtil = new global.ArrayUtil();
userArray = arrayUtil.unique(arruser);
gs.warn('userArray.length after unique = ' + userArray.length);
var u;
for (u = 0; u < userArray.length; u++) {
//gs.info("print value1:"+userArray[u]);
var grGroupUser = new GlideRecord('sys_user_grmember');
var qGU1 = grGroupUser.addQuery('group', 'b85d44954a3623120004689b2d5dd60a');
qGU1.addCondition('user', userArray[u]);
grGroupUser.query();
if(!grGroupUser.hasNext()) {
grGroupUser.user = userArray[u];
grGroupUser.group = 'b85d44954a3623120004689b2d5dd60a';
grGroupUser.insert();
}
}
out put of this script but one record is showing as empty which i dot want to insert. how i can stop ?
0 REPLIES 0