Can i run Perform Identity Request Maintenance for a single identity request? Are their any API for it?
Perform Identity Request Maintenance task is for Maintenance of IdentityRequest object . no ootb option available to trigger this for particular identity request object , but you can write the custom one to scan based on the request number .
To execute a specific Identity Request using this API :
IdentityRequestProvisioningScanner scanner = new IdentityRequestProvisioningScanner(context,args)
scanner.scan(identityRequestID)
Thanks Sandeep for the reply, I am trying the same
QueryOptions ops = new QueryOptions();
ops.add(new Filter[] { Filter.or(new Filter[] { Filter.notnull("endDate"),
Filter.eq("executionStatus", IdentityRequest.ExecutionStatus.Terminated),
Filter.eq("state", "Approve and Provision Split") }) });
ops.add(new Filter[] { Filter.isnull("verified") });
List<String> requestIds = getRows((Class)IdentityRequest.class, ops);
int requestTotal = requestIds.size();
Iterator<String> it = requestIds.iterator();
while (!this._terminate && it.hasNext()) {
String id = it.next();
updateProgress("Scanning Identity request [" + (this._requestsScanned + 1) + "] of [" + requestTotal + "]");
IdentityRequest request = (IdentityRequest)this._context.getObjectById(IdentityRequest.class, id);
if (request != null) {
this._requestsScanned++;
try {
scanner.scan(request);
} catch (Throwable t) {
String reqId = (request != null) ? request.getName() : "unknown";
Message err = new Message(Message.Type.Error, "err_lcm_scan_failed_on_request", new Object[] { reqId, t });
addMessage(err, t);
}
this._context.decache();
}
}
Let me know if you still need help.
This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.