Click HERE to see how Saviynt Intelligence is transforming the industry. |
03/20/2024 12:33 PM
Hi Team,
It's a very trivial issue, but somehow I am not able to find out what the issue is.
We have a requirement to create/update a Sav4Sav account only when the source is a request The JSON is working fine if I don't put a condition there, but when I put a condition, it's not able to resolve.
Working JSON
{
"accountIdPath": "accountName",
"responseColsToPropsMap": {},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://dev.saviyntcloud.com/ECM/api/v5/createAccount",
"httpMethod": "POST",
"httpParams": "{\"securitysystem\":\"Sav4Sav_Dev\",\"endpoint\":\"Sav4Sav_Dev\",\"name\":\"${user.username}\",\"username\":\"${user.username}}\",\"requestor\":\"000229\",\"accountowner\":[{\"type\":\"user\",\"value\":\"${user.username}\",\"rank\":\"1\"}],\"displayname\":\"${user.displayname}\",\"comments\":\"CreatedForInternalUse\",\"accountid\":\"${user.username}\",\"customproperty1\":\"${user.customproperty1}\",\"customproperty30\":\"${user.customproperty30}\"}",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,
201,
204,
205
]
}
}
]
}
Not Working JSON
{
"accountIdPath": "accountName",
"responseColsToPropsMap": {},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://dev.saviyntcloud.com/ECM/api/v5/createAccount",
"httpMethod": "POST",
"httpParams": "{\"securitysystem\":\"Sav4Sav_Dev\",\"endpoint\":\"Sav4Sav_Dev\",\"name\":\"${user.username}\",\"username\":\"${if(task.requestKey!=null){${user.username}}else{''}}\",\"requestor\":\"000229\",\"accountowner\":[{\"type\":\"user\",\"value\":\"${user.username}\",\"rank\":\"1\"}],\"displayname\":\"${user.displayname}\",\"comments\":\"CreatedForInternalUse\",\"accountid\":\"${user.username}\",\"customproperty1\":\"${user.customproperty1}\",\"customproperty30\":\"${user.customproperty30}\"}",
"httpHeaders": {
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,
201,
204,
205
]
}
}
]
}
I tried multiple versions but not working for me.
${if(arsTasks.source.equals('REQUEST')){${user.username}}}
${if(task.requestKey!=null){${user.username}}}
${if(task.requestKey==null){${user.username}}}
${if(task.requestKey!=null){${user.username}}else{''}}
Exception
{"auditDetails":{"call1":[{"headers":null,"message":{"errorCode":"1","message":"requestor ${if(arsTasks.source.equals('REQUEST')){${user.username}}} is inactive or not found"},"statusCode":412,"description":null,"status":"Failed"},{"headers":null,"message":{"errorCode":"1","message":"requestor ${if(arsTasks.source.equals('REQUEST')){${user.username}}} is inactive or not found"},"statusCode":412,"description":null,"status":"Failed"}
{"headers":null,"message":{"errorCode":"1","message":"requestor ${if(task.requestKey!=null){${user.username}}} is inactive or not found"},"statusCode":412,"description":null,"status":"Failed"},{"headers":null,"message":{"errorCode":"1","message":"User ${if(task.requestKey!=null){${user.username}}} inactive or not found"},"statusCode":412,"description":null,"status":"Failed"},{"headers":null,"message":{"errorCode":"1","message":"User ${if(task.requestKey!=null){${user.username}}else{''}} inactive or not found"},"statusCode":412,"description":null,"status":"Failed"}]},"call1":{"headers":null,"message":{"errorCode":"1","message":"User ${if(task.requestKey==null){${user.username}}else{''}} inactive or not found"},"statusCode":412,"description":null,"status":"Failed"}}
Solved! Go to Solution.
03/20/2024 10:05 PM - edited 03/20/2024 10:08 PM
,\"username\":\"${if(task?.requestKey!=null){user.username}else{}}\",
03/21/2024 03:01 PM
Thank you, @rushikeshvartak
After analysis, we found that in the Sav4Sav connection, the task object is not available; instead, the arsTasks object is available. So the following syntax worked for us.
"{\"securitysystem\":\"${if(arsTasks.source.equals('REQUEST')){'Sav4Sav_Dev'}else{''}}\",
We can close this thread,
Thank you.