Task History Missing Despite "Rename Old" Enabled — Request Object Trigger

Task History Not Retained Despite “Rename Old” Being Enabled — LM Refresh Process Events Cert Launch Only

Hi Community,

Looking for some insights on an issue we’re facing with task history retention in IdentityIQ.

Setup

  • We have a task: LM Refresh Process Events Cert Launch Only

  • The task is configured with “Previous Result Action: Rename Old”

  • The expected behavior is that on every subsequent run, the previous task result gets renamed sequentially:

    • LM Refresh Process Events Cert Launch Only -1

    • LM Refresh Process Events Cert Launch Only -2

    • …and so on

    • This gives us visibility into historical executions — useful for debugging and auditing

      The Problem

      Despite Rename Old being enabled, the task history is not being retained. Specifically:

      • Previous results are not getting renamed

      • No historical task entries are visible

      • Only the latest run is available — all prior execution data is lost

        Additional Context

        This task is not triggered directly (e.g., via scheduler or manual run). Instead, it is being invoked through a Task Executor inside a Request Object. We suspect this execution method might be bypassing the “Rename Old” logic, since the task lifecycle may be handled differently when launched via a Request vs. a direct execution.
        Also, the task is being CANCELLED.

        Questions for the Community

        1. Does “Rename Old” work as expected when a task is triggered via a Task Executor inside a Request Object?

        2. Is there a known limitation where task history retention behaves differently based on how the task is invoked (direct vs. request-based)?

        3. Has anyone encountered a similar issue and found a workaround?

          Any inputs or pointers would be greatly appreciated!

@Shark0001 Could you please share the xml of the custom code where you are launching the task?

Hi @Shark0001 - You are correct, with the task executor you need to pass resultAction as “Rename”. Rename is equal to Rename Old. Here is how:

    taskDef.setResultAction(sailpoint.object.TaskDefinition$ResultAction.Rename);
    context.saveObject(taskDef);
    context.commitTransaction();
    TaskManager tm = new TaskManager(context);
    HashMap taskArgs = new HashMap();

    tm.run(taskDef, taskArgs); 

Assuming you are running this in the background. If you run into issues please share the xml.

@Shark0001 - The Previous Result Action setting is not a property the TaskExecutor enforces. It’s enforced by sailpoint.api.TaskManager at the moment a result is set up, before execute() is ever called.

I would recommend trying above code snippet.