Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

how to delete the bookmarks when the role remove to a group

harivas
Tera Contributor

how to delete the bookmarks when the role remove to a group for those group members have to delete the bookmarks. 

I have tried with after delete business rule on sys_group_has_role table, can any one help me on this query

the BR script:

(function executeRule(current, previous /*null when async*/ ) {

    var grGroupRole = new GlideRecord('sys_group_has_role'); // Gliding the sys_group_has_role table
    grGroupRole.addQuery('role.name', 'pps_resource'); // checking if group has 'pps_resource' role
    grGroupRole.addQuery('group', current.sys_id);
    grGroupRole.query();

    if (!grGroupRole.hasNext()) { // If the group does not have 'pps_resource' role
        while (grGroupRole.next()) {
            var group = grGroupRole.group.getRefRecord(); // Get the group record
   gs.info("hello");
   var grUser = new GlideRecord('sys_user_grmember'); // Gliding the sys_user_grmember table to get the group members
    grUser.addQuery('group', current.sys_id);
    grUser.query();

    while (grUser.next()) {
        var user = grUser.user.getRefRecord(); // Get the user record

        // Define the bookmarks that you want to delete
        var bookmarks = [
            'Projects (Active)',
            'Demands (Active)',
            'Pipeline and Resource Dashboard'
        ];

        // For each bookmark
        for (var i = 0; i < bookmarks.length; i++) {
            var bookmark = new GlideRecord('sys_ui_bookmark'); // Gliding the bookmark table
            bookmark.addQuery('user', user.sys_id);
            bookmark.addQuery('title', bookmarks[i]);
            bookmark.query();
            while (bookmark.next()) { // If bookmark exists for the user with the title
                bookmark.deleteRecord(); // Delete the bookmark record
            }
        }
    }
     }
}
})(current, previous);

thanks 
Harivas


6 REPLIES 6

Hi @Harsh Vardhan Thanks for your code, but it's not working.

@harivas  Can you add screenshot of your Business Rule and may I know how are you testing it ?