With IdentityIQ it is possible to create a Schedule for Tasks, Reports and Certifications. The name of these schedules can contain any character. When the name of the schedule contains an &-character and opening this schedule (TaskSchedule) via debug will result in an empty debug screen.
The Schedule itself is working normally.
Tasks, Reports and Certifications are started as expected.
Why is thee object content not visible in the debug page?
Not showing the TaskSchedule content in the debug screen is a ‘bug’ in the debug pages. Or maybe better to say a different implementation has been used for TaskSchedule-objects compared to all other objects in IdentityIQ.
Normally an object in IdentityIQ has a unique ID as the ID for the object, but the ID for TaskSchedule-objects is set to the name of the TaskSchedule. When the contents of of the Object is requested (when opening the object in the debug pages) it will result in a REST-call like:
<Identityiq-URL>/rest/debug/TaskSchedule/TaskSchedule%2520with%2520an%2520%2526amp%253B%2520in%2520the%2520name
And the REST-endpoint does not decode the &-character from the URL.
For other objects (where the ID is unique number) the decoding of the URL is simple as no URL decoding is needed. For example:
<Identityiq-URL./rest/debug/TaskDefinition/0a000004860a2e6082760a8efd4601f6
Changing the name in de GUI (Intelligence → Reports → Scheduled Reports, Setup → Certifications → Certifications Schedules, Setup → Tasks → Scheduled Tasks) to a name without the &-character will fix the small issue
Remove a ‘faulty’ TaskSchedule-object
When removing the to be scheduled report, certification definition or task definition without first removing the schedule will result in a ‘faulty’ or ‘orphan’ TaskSchedule-object. These schedules are not shown in the GUI as they are filtered out together with a warning message in the log stating the to be scheduled object can’t be found.
Deleting a ‘faulty’ TaskSchedule-object with a &-character in the name of the TaskSchedule is not possible via the GUI (as they are not shown) nor via debug (same issue as viewing the object, see above). Deleting a ‘faulty’ TaskSchedule-object is possible using the IdentityIQ Console or via a rule.
A rule to delete a ‘faulty’ TaskSchedule-object using the Terminator:
import sailpoint.object.*;
import sailpoint.api.*;
TaskDefinition td = context.getObjectByName("...");
Terminator arnold = new Terminator(context);
arnold.deleteObject(ts);
I hope this Show&Tell will help at least 1 person with this weird behaviour when adding a simple &-character to a name
– Remold