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

Service Now Integration Issue - Disconnected Application

varunpuri
Regular Contributor
Regular Contributor

Hi,

This is the complete use case.

  1. Using the myService application at Service Now side, request is opened for access to a Disconnected Application by selecting more than one entitlements. As a result RITM gets created in SNOW.
  2. At the same time a request is created in Saviynt and approval workflow gets triggered in SNOW.
    Request is auto approved in Saviynt and as a result Add Access tasks for the multiple entitlements requested are created in Saviynt.
  3. As soon as approval is done in SNOW, an sc task is created in SNOW which is updated with the description which says something like this "please wait for manual steps to be done in Saviynt". This essentially means that we need to run the provisioning job in Saviynt.
  4. When the provisioning job is run in Saviynt, createTicketJSON is invoked on the configured Service Desk connection object and description gets updated in SNOW as per the comments provided in the createTicketJSON. Also, the status of tasks in saviynt gets changed to Pending Provision. This is the step where RITM number (generated in point 1 above) is returned back to Saviynt.
    Please note that for a single entitlement request, this is working absolutely fine.
    Problem arises, when more than one entitlements are requested in a single request. As a result, the status of the tasks DOES get changed to Pending Provision but the tasks also get errored out. Following error starts appearing in the tasks :
    Existing Comments : {"error":{"message":"String contains control character","detail":"SyntaxError: String contains control character (sys_ws_operation.28c3ad0d87a571102af321b8dabb3540.operation_script; line 17)"},"status":"failure"};Ticket Number=null
    Provisioning Comments : Error in getting Ticket Number. Response: {"error":{"message":"String contains control character","detail":"SyntaxError: String contains control character (sys_ws_operation.28c3ad0d87a571102af321b8dabb3540.operation_script; line 17)"},"status":"failure"}
  5. Now, even after the RITM gets closed at the SNOW side, the tasks DO NOT get Completed because Saviynt DOES NOT even know about the RITM number.

I am attaching the payload which we are sending in the createTicketJSON. Kindly assist. Is this a problem with the myService application ? OR the payload needs to be modified to handle multiple entitlements in an appropriate way ?

Best Regards,
Varun

8 REPLIES 8

rushikeshvartak
All-Star
All-Star

Share Ticket Status JSON


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Hi @rushikeshvartak , Please find the ticket status JSON.

Best Regards,
Varun

SumathiSomala
All-Star
All-Star

@varunpuri To identify the issue remove all 

+allEntitlementsValues

In  description field of your json and then request more than one entitlement. 

Check whether this is working or not

Regards,
Sumathi Somala
If this reply answered your question, please Accept As Solution and give Kudos.

Hello @SumathiSomala ,

Yes, after removing allEntitlementsValues, it is working fine.

1. Any idea around what is the value that goes in allEntitlementsValues when multiple entitlements are requested ? Maybe we need to remove some special character or comma etc.

2. I referred some other forum post and replaced allEntitlementsValues with allEntitlementsValues.replace(':: ADD : ','').replace('\n','').replace('[','').replace(']','').replace('(','').replace(')','')  but even then it did not work.

Best Regards,
Varun

@varunpuri  Can you try the below and see if it helps?


+task.entitlement_valueKey.entitlement_value
+entitlement


${task.entitlement_valueKey.entitlement_value}
${entitlement}

Regards,
Sumathi Somala
If this reply answered your question, please Accept As Solution and give Kudos.

Hi @SumathiSomala ,

An improvement from last time. But the problem is that now only one entitlement is getting printed in the description. I am using the below syntax now :

${{'Complete this request to create account for ' +user.firstname+' ' +user.lastname +' in ' +task.endpoint?.displayName +' application along with access ' + task.entitlement_valueKey.entitlement_value}}

The request was opened with 2 entitlements, but just one gets printed with the above syntax. The earlier problem where the tasks itself were getting errored out is NO longer there. Any suggestions please.

Best Regards,
Varun

@varunpuri give a try with below

+entitlements
+entitlement

${entitlements}
${entitlement}

 

Regards,
Sumathi Somala
If this reply answered your question, please Accept As Solution and give Kudos.

Hi @SumathiSomala , both the above are NOT working. I am receiving the RITM from SNOW side but the description in SNOW is getting updated as null.

Best Regards,
Varun