File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed
Server-Side Components/Background Scripts/Reassign Tasks When Assigned User Is Inactive Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change 1+ ( function ( ) {
2+
3+ var reassignedCount = 0 ;
4+ var userGR = new GlideRecord ( 'sys_user' ) ;
5+ userGR . addQuery ( 'active' , false ) ; // inactive users only
6+ userGR . query ( ) ;
7+
8+ while ( userGR . next ( ) ) {
9+ var inactiveUser = userGR . getDisplayValue ( 'name' ) ;
10+ var manager = userGR . manager ; // reference field
11+
12+ // Reassign incidents
13+ var taskGR = new GlideRecord ( 'task' ) ;
14+ taskGR . addQuery ( 'assigned_to' , userGR . sys_id ) ;
15+ taskGR . addQuery ( 'state' , '!=' , 3 ) ; // not closed
16+ taskGR . query ( ) ;
17+
18+ var taskCount = 0 ;
19+ while ( taskGR . next ( ) ) {
20+ taskCount ++ ;
21+
22+ if ( manager ) {
23+ taskGR . assigned_to = manager ; // assign to manager
24+ } else {
25+ taskGR . assignment_group = 'Any_Group_Sys_ID' ; // fallback
26+ taskGR . assigned_to = '' ; // clear user field
27+ }
28+
29+ taskGR . work_notes = "Auto reassigned because previous assignee (" + inactiveUser + ") is inactive." ;
30+ taskGR . update ( ) ;
31+ }
32+
33+ if ( taskCount > 0 ) {
34+ reassignedCount += taskCount ;
35+ gs . info ( "Reassigned " + taskCount + " tasks from inactive user: " + inactiveUser ) ;
36+ }
37+ }
38+ //gs.info("Total tasks reassigned: " + reassignedCount);
39+
40+ } ) ( ) ;
You can’t perform that action at this time.
0 commit comments