Click HERE to see how Saviynt Intelligence is transforming the industry. |
05/22/2024 06:19 AM
Hi,
Saviynt version EIC v24.3.
Trying to use function com.saviynt.ecm.identitywarehouse.domain.Users.findAll{username==user.customproperty4} in create user json to pull email, the function seems to be un recognized. Here is the JSON snippet. Could you please assist if anything additional to be enabled.
"Email": \"${if(user.customproperty55.equals('ABC')){user?.getEmail()}else if(user.customproperty55.equals('XYZ')){com.saviynt.ecm.identitywarehouse.domain.Users.findAll{username==user.customproperty4}.get(0).email}}\",
Error:Error in creating user = Template contains string which are not allowed com.saviynt.
05/22/2024 06:26 AM
com.saviynt class name are not allowed in JSONs
05/22/2024 06:36 AM
Thanks for the response @rushikeshvartak . We have the same code working in version 5.5 in salesforce connector jsons. Is this class name restriction added in saviynt v24.3 connector?
05/22/2024 08:50 PM
Yes its blocked in EIC v24.x versions
05/22/2024 10:57 PM - edited 05/22/2024 11:29 PM
Thanks for the response @rushikeshvartak .So is there an alternate available to fulfil the above given else condition?
"Email": \"${if(user.customproperty55.equals('ABC')){user?.getEmail()}else if(user.customproperty55.equals('XYZ')){com.saviynt.ecm.identitywarehouse.domain.Users.findAll{username==user.customproperty4}.get(0).email}}\",
05/22/2024 11:45 PM
Thanks for the response @rushikeshvartak . In developer handbook for version v24.x i could see that com.saviynt has been used . Could you please suggest if there is an alternate to achieve the above requirement
https://docs.saviyntcloud.com/bundle/Dev-Handbook-REST-v24x/page/Content/Developers-Handbook.htm
05/23/2024 02:03 AM
This is old documentation but using of class has been blocked in code.
please let me know use case accordingly we can see alternative
05/24/2024 05:40 AM
Hi @rushikeshvartak ,
Each user has 2 Identities ,Standard account(Cp55=ABC) with email populated and Admin Account(Cp55=XYZ) with email null.
When an a user with XYZ account submits this application request his corresponding ABC accounts identities Email address needs to be fetched in create accountjson.Using CP4 value which contains username of other profile.
To simplify the usecase while provisioning userA we need user B's email address to fetched. we have userB username saved on userA profile .
This is the condition we were using for sp 5.5 version which is not working currently in V24.3
Email: ${if(user.customproperty55.equals('ABC')){user?.getEmail()}else if(user.customproperty55.equals('XYZ')){com.saviynt.ecm.identitywarehouse.domain.Users.findAll(username==user.customproperty4).get(0).email}}\"
05/24/2024 06:05 AM
You can create dynamic attributes and pass dynamic in json for another accounts name
05/24/2024 10:03 AM
@rushikeshvartak Can you please share some sample logic or reference to achieve the same.
05/26/2024 09:35 AM
Use standard dynamic attributes sql to show other accounts account name on ars request form and then use ins create account json
${requestAccessAttributes.get('regions')}
da sample query
select name as id from accounts a ,user_accounts ua where ua.accountkey=a.accountkey and a.endpointkey=1000 and u.userkey=${requestee}
05/22/2024 06:32 AM
@Anu try below
${if(user.customproperty55.equals('ABC')){user?.getEmail()}else if(user.customproperty55.equals('XYZ')){com.saviynt.ecm.identitywarehouse.domain.Users.findAll(username==user.customproperty4).get(0).email}}\"
05/22/2024 06:34 AM
@Raghu Thanks for the response. Tried the same but still same error.