I doubt you can do this Batch request as from Identity Update standpoint it is always a string or identity type attributes and even if you provide the value as above it should populate in debug page as below instead of having Date tags, can you once check in debug page if below is happening?
Also in this case you may have to modify your workflow being called during batch request to handle this particular attribute or have some independent workflow or code to update this particular attribute.
Please confirm if you are able to see in debug page in String format for your field.
Other experts can comment if they have any other approach.
You can just write a small rule in beanshell to use identity.setAttribute(String attributeName, Object attributeValue) to set directly Date object and HBM will translate it to epoch
Of course if you dont expect any triggers to be fired on update. If you need to fire them then you can provision this value same way but you will have to build provisioning plan.
@pbobadil
This is what exactly I am saying, I don’t think you will have a direct way to do this from Batch Request, either you come up with an independent rule or workflow which reads the file and update the value or update the associated Batch request workflow to handle this particular attribute separately
@pbobadil
What is your exact use case here, you have different end dates for set of users and you wanted to update the same for them within Identity ? or do you have any post process to be done for the same.
If you just want to save the attribute at Identity level, you can set the attribute by getting identity object and save the object using below code
Note - You can place the csv file in server and read the file using basic Java code and then while iterating the identity and corresponding epoch time use the below code
Assuming identityName and epochMilliseconds are read already.
Identity iden=context.getObjectByName(Identity.class,identityName);
java.util.Date date1 = new java.util.Date(epochMilliseconds);
iden.setAttribute("contractEndDate",date1);
context.saveObject(iden);
context.commitTransaction();