Hey guys,
I’m working on a SailPoint IdentityIQ customization and need help verifying my approach. My goal is to get the attributes of an identity from a provisioning plan and use them in an update operation, specifically mapping these attributes into the request body. Below is the code snippet that I am currently using, but it is not working.
import connector.common.JsonUtil;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import sailpoint.object.Identity;
import sailpoint.object.Link;
import sailpoint.object.Application;
import java.util.Iterator;
import sailpoint.object.QueryOptions;
import sailpoint.api.IdentityService;
List accountRequestsList = provisioningPlan.getAccountRequests();
if (accountRequestsList != null @and !accountRequestsList.isEmpty()) {
for (item : accountRequestsList) {
log.error("xxx item : " + item);
log.error("xxx item operation: " + item.getOperation().toString());
log.error("xxx item native: " + item.getNativeIdentity());
List attrReqList = item.getAttributeRequests();
if (attrReqList != null @and !attrReqList.isEmpty()) {
//iterate through attribute request list
for (AttributeRequest attr : attrReqList) {
log.error("xxx attr.getValue() class: " + attr.getValue().getClass().getSimpleName());
if (attr.getValue().getClass().getSimpleName().contains("String")) {
log.error("xxx value " + attr.getValue());
}
}
}
}
}else {
log.error("xxx empty request");
}