How to delete entitlement reference in it role profile? Save does not save

Which IIQ version are you inquiring about?

Version 8.3

Share all details related to your problem, including any error messages you may have received.

Some entitlements in an external application (Keycloak) got deleted.
Group aggregation with the delete option activated removed them from the entitlement catalog.
Now there are invalid references to those in the profiles of some it roles, which Sailpoint IIQ does not delete. (I consider this a bug, I try to repair the product).
So I wrote a general rule / job / task which identifies all invalid references, that is without finding them in the entitlement catalog. This works.
But I try to delete them from the profile and save the profile and the it role.
Problem: The changes do not get saved / persisted.
leafFilterIterator.remove(); // remove last filter value from filter list
ā€¦
context.saveObject(profile);
context.commitTransaction();
//context.decache(profile);
}
context.saveObject(itRole);
context.commitTransaction();
context.decache(itRole);
}
context.decache();
Util.flushIterator(itRoleIterator);

Any ideas?
Code examples?
Thanks in advance.

Check the sample code from attached file , pretty much most of them you will be able to reuse for your requirement .

createUpdateBundle
deleteBundle
addEntitlementToBundleConstraints
deleteEntitlementFromBundleConstraints

GenericImporter.xml (17.3 KB)

Many thanks. I will try it and see if I can get it working.

Sure . Let me know how it goes .

I managed to integrate it with our code base and I understood the code, so Iā€™m confident it should work. I had some other things to do but now I going to call it from my task and test it.

Hello Vishal,

it worked!
I integrated it with our detection code and I was able to delete every reference to an invalid entitlement in all it roles.

Thank you very much.

Frerk

1 Like

Awesome ! Great to hear .
Happy Learning !

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.