diff --git a/Scheduled Jobs/Unpublish Public Reports/Readme.md b/Scheduled Jobs/Unpublish Public Reports/Readme.md new file mode 100644 index 0000000000..d2f26b0ce0 --- /dev/null +++ b/Scheduled Jobs/Unpublish Public Reports/Readme.md @@ -0,0 +1 @@ +Scheduled Job to query the report table for any reports that are Published or roles are set to Public and remove the public role from report. diff --git a/Scheduled Jobs/Unpublish Public Reports/UnpublishReports.js b/Scheduled Jobs/Unpublish Public Reports/UnpublishReports.js new file mode 100644 index 0000000000..5ae98657a7 --- /dev/null +++ b/Scheduled Jobs/Unpublish Public Reports/UnpublishReports.js @@ -0,0 +1,12 @@ +var pubReport = new GlideRecord('sys_report'); +pubReport.addQuery('is_published=true^ORroles=public'); +pubReport.query(); +while(pubReport.next()) { + //Obtain current roles report is shared with + var removePublic = pubReport.roles; + //Remove public role from string + removePublic = removePublic.replace(/public/g, ''); + //Set report roles to new string value. Wihtout public role, report will auto unpublish + pubReport.roles.setValue(removePublic); + pubReport.update(); +}