We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Delete Role Public from Reports

purdue
Kilo Sage

Hello,

I need to delete the Public Role from any reports in sys_report.   I have tried one report below but is not working.   Any assistance is appreciated.

 

var reportrole = 'roles=public^title=App Service IDs';
var report= new GlideRecord('sys_report');
report.addEncodedQuery(reportrole);
report.query();
while(report.next()){
report.roles.deleteRecord();
report.update;
}
Thanks,
Chad
1 ACCEPTED SOLUTION

Mr_X
Mega Guru

Hi @purdue ,
Please use below script.

var reportrole = 'roles=public^title=App Service IDs';
var report = new GlideRecord('sys_report');
report.addEncodedQuery(reportrole);
report.query();
while (report.next()) {
    if (report.roles.indexOf('public') > -1) {
        var arr = report.roles.split(',');
        arr.pop('public');
        report.roles = arr.join(',');
        report.update();
    }
}
If my solution works, please hit the Thumb Icon and mark as Correct!

View solution in original post

3 REPLIES 3

Mr_X
Mega Guru

Hi @purdue ,
Please use below script.

var reportrole = 'roles=public^title=App Service IDs';
var report = new GlideRecord('sys_report');
report.addEncodedQuery(reportrole);
report.query();
while (report.next()) {
    if (report.roles.indexOf('public') > -1) {
        var arr = report.roles.split(',');
        arr.pop('public');
        report.roles = arr.join(',');
        report.update();
    }
}
If my solution works, please hit the Thumb Icon and mark as Correct!

purdue
Kilo Sage

Thanks Mr X.   That works.  I appreciate the help.

Frank59
Tera Contributor

Any chance you have a way to add a role to all reports?  Say ITIL, snc_internal