Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

How to send entitlement custom property values in CreateTicketJSON?

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 28 2019 at 10:38 UTC

We are using REST connector's CreateTicketJSON to send provisioning messages to a system. How can we include customproperty values of entitlements in the provisioning message? What is the syntax?

Current CreateTicketJSON httpParams looks like below:

"httpParams": "{\"userid\":\"$user.systemUserName\",\"RequestID\":\"${task.requestKey?.processinstanceid?.substring(task.requestKey?.processinstanceid?.indexOf('.') + 1, task.requestKey?.processinstanceid?.length())}\",\"application\": \"$task.endpoint.displayName\",\"tasks\": \"${allEntitlementsValues}\",\"comments\": \"${task.comments}\"}",

This results in the following request:

{

"userid": "username",

"RequestID": "123456",

"application": "App name",

"tasks": "ADD :: Entitlement : Test Entitlement 1, ADD :: Entitlement : Test Entitlement 2",

"comments": "[10/15/19 UTC -Mikko Hellsten(mikko_hellsten)] This access is needed"

}

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.
7 REPLIES 7

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 29 2019 at 18:33 UTC

${task.entitlement_valueKey.customproperty1..}

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 30 2019 at 06:20 UTC

Thanks for the response. This seems to be pointing to only one entitlement. How to enumerate all of the entitlements, since there can be any number of entitlements in one request?

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 30 2019 at 13:58 UTC

Mikko,

At this point of time, only the Entitlement_value field is available through ${allEntitlementsValues}. We are looking to support the following as part of future enhancements.


1. Iterate through each Entitlement

2. Fetch all metadata (including Custom Property's) of each entitlement


Thanks.

Nishar

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 31 2019 at 06:04 UTC

Thanks Nishar. I know our use case might not be the best way to use the CreateTicketJSON, but good to hear that these features might be added.

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on May 8 2020 at 15:10 UTC

Hi Mikko, Nishar


I tried using ticketstatusjson as shared above :


"httpParams": "{\"userid\":\"$user.systemUserName\",\"RequestID\":\"${task.requestKey?.processinstanceid?.substring(task.requestKey?.processinstanceid?.indexOf('.') + 1, task.requestKey?.processinstanceid?.length())}\",\"application\": \"$task.endpoint.displayName\",\"tasks\": \"${allEntitlementsValues}\",\"comments\": \"${task.comments}\"}"


Made some changes in object variable as per my requirement and used that.


I'm able to pass all other attribute except entitlement values if it is more than one. In case of one entitlement value it is working fine but if i request for more than one entitlement value for an application it throws an error.


Please find attached Screenshot for reference.


Let me know please how you handled multiple entitlement values through above JSON.


Would appreciate your help !

This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on October 18 2021 at 17:53 UTC

Hello,

This may help (better ways may exist !) :



${(task.requestKey.arstask.findAll{GROUPS_entValue.toString().split('\",\"').contains(it.entitlement_valueKey.entitlement_value)}.collect{it.entitlement_valueKey.customproperty1}.join(', '))}



This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.

Community_User
Saviynt Employee
Saviynt Employee
Originally posted on February 2 2022 at 13:11 UTC

Hi Nishar/Martin,


I am looking for some help here. I am using below variables to get the requested details raised via ARS :


Role Changes: \\\\n ${allEntitlementsValues}

Sample Output : Role [Test_EntRole_For_Successfactor] :: ADD : AuthObjects : (WU Accountant) 


I am looking for a solution where I should be able to extract only the role Name i.e. Test_EntRole_For_Successfactor and I also need help how can i extract role custom property value in createTicketJson



This message was previously posted on Saviynt's legacy forum by a community user and has been moved over to this forum for continued exposure.