Saviynt unveils its cutting-edge Intelligence Suite products to revolutionize Identity Security!
Click HERE to see how Saviynt Intelligence is transforming the industry.
Saviynt Copilot Icon

servicenow application creating a single ticket for multiple endpoints

MounikaC
New Contributor
New Contributor

I have an integration with multiple endpoints under a single SNOW[Rest based] Security system.

Suppose consider a usecase where a user is having 4 application accounts [for same security system] and each of it have their own servicenow assignment groups say Grp1,Grp2, Grp3,Grp4. Suppose when a user is terminated their access should be revoked for all the applications and a seperate RITM ticket should be generated for each endpoint with their respective Assignment group say for application x- Grp1 and application y - Grp2 .,etc. But in our case it is creating a single RITM ticket including all other application related information in that single ticket. 

Attached is the CreateticketJSON configured in our environment. Also, FYI we are using the variable -- \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\" for pulling the assignment group value of respective application.

Can anyone help me with suggesting a solution how to create a separate ticket for each application group.

 

Thanks

Mounika Challa

3 REPLIES 3

Srinivas
Saviynt Employee
Saviynt Employee

Hi Mounika

can you please share the  CreateTicketJSON

Regards

Srinivas

MounikaC
New Contributor
New Contributor

Iam unable to post the code . It says unable to respond to the action .

{
"call": [{
"name": "call1",
"connection": "userAuth",
"url": "https://xyz",
"httpMethod": "POST",
"httpParams": "${((task.source == 'ONECLICKDISABLE' || task.source == 'PROVRULE') && task.tasktype == 2)? '{\"sysparm_quantity\":\"1\", \"variables\": {\"u_request_for\":\"'+user.firstname+' '+user.lastname+'\", \"u_email\":\"'+user.email+'\", \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\", \"u_short_desc\":\"Request for Entitlement : '+allEntitlementsValues+' \\\\nRequested for : '+user.firstname+' '+user.lastname+' \\\\nOpened by Saviynt\", \"u_desc\":\"Please Remove Access to '+user.firstname+' '+user.lastname+' \\\\nEmail: '+user.email+ ((task.endpoint.endpointname.equals('A') || task.endpoint.endpointname.equals('B') || task.endpoint.endpointname.equals('C'))? '\\\\nUser Name: '+user.username:'')+((task.endpoint.endpointname.equals('D'))? '\\\\nCountry : '+user.country:'')+'\\\\nApplication Entitlement : '+allEntitlementsValues+' \\\\nSaviynt Task # '+task.id+'\"}}':(((task.source == 'ONECLICKDISABLE' || task.source == 'PROVRULE') && task.tasktype == 14) || (task?.tasktype.toString().equals('14')))?'{\"sysparm_quantity\":\"1\", \"variables\": {\"u_request_for\":\"'+user.firstname+' '+user.lastname+'\", \"u_email\":\"'+user.email+'\", \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\", \"u_short_desc\":\"Requested for : '+user.firstname+' '+user.lastname+' \\\\nRequested by : '+requestor.firstname+' '+requestor.lastname+' \\\\nOpened by Saviynt\", \"u_desc\":\"Please Disable Account for '+user.firstname+' '+user.lastname+' \\\\nEmail: '+user.email+ '\\\\nUser Name: '+user.username + ' \\\\ncomments: '+task.requestKey.comments.replace('<span class=\"busjustformat\">','').replace('</span>','').replace('<br/>','').replace('\"','').replace('\\r\\n',' ').decodeHTML()+' \\\\nSaviynt Task # '+task.id+'\"}}':(task.tasktype == 6)?'{\"sysparm_quantity\":\"1\", \"variables\": {\"u_request_for\":\"'+user.firstname+' '+user.lastname+'\", \"u_email\":\"'+user.email+'\", \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\", \"u_short_desc\":\"Requested for : '+user.firstname+' '+user.lastname+' \\\\nRequested by : '+requestor.firstname+' '+requestor.lastname+' \\\\nOpened by Saviynt\", \"u_desc\":\"Please Enable Account for '+user.firstname+' '+user.lastname+' \\\\nEmail: '+user.email+ '\\\\nUser Name: '+user.username + ' \\\\ncomments: '+task.requestKey.comments.replace('<span class=\"busjustformat\">','').replace('</span>','').replace('<br/>','').replace('\"','').replace('\\r\\n',' ').decodeHTML()+' \\\\nSaviynt Task # '+task.id+'\"}}':(task.source == 'CERTIFICATION' && task.tasktype == 2)?'{\"sysparm_quantity\":\"1\", \"variables\": {\"u_request_for\":\"'+user.firstname+' '+user.lastname+'\", \"u_email\":\"'+user.email+'\", \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\", \"u_short_desc\":\"Request for Entitlement : '+allEntitlementsValues+' \\\\nRequested for : '+user.firstname+' '+user.lastname+' \\\\nOpened by Saviynt\", \"u_desc\":\"Please Provision Access to '+user.firstname+' '+user.lastname+' \\\\nEmail: '+user.email+ ((task.endpoint.endpointname.equals('A') || task.endpoint.endpointname.equals('B') || task.endpoint.endpointname.equals('C'))? '\\\\nUser Name: '+user.username:'')+((task.endpoint.endpointname.equals('D'))? '\\\\nCountry : '+user.country:'')+'\\\\nApplication Entitlement : '+allEntitlementsValues+' \\\\ncomments: Please remove access as manager has revoked the access through certification or certification has expired in IAM\\\\nSaviynt Task # '+task.id+'\"}}':'{\"sysparm_quantity\":\"1\", \"variables\": {\"u_request_for\":\"'+user.firstname+' '+user.lastname+'\", \"u_email\":\"'+user.email+'\", \"u_assign_grp\":\"'+task.endpoint?.customproperty6+'\", \"u_short_desc\":\"Request for Entitlement : '+allEntitlementsValues+' \\\\nRequested for : '+user.firstname+' '+user.lastname+' \\\\nOpened by Saviynt\", \"u_desc\":\"Please Provision Access to '+user.firstname+' '+user.lastname+' \\\\nEmail: '+user.email+ ((task.endpoint.endpointname.equals('A') || task.endpoint.endpointname.equals('B') || task.endpoint.endpointname.equals('C'))? '\\\\nUser Name: '+user.username:'')+((task.endpoint.endpointname.equals('D'))? '\\\\nCountry : '+user.country:'') +' \\\\nApplication Entitlement : '+allEntitlementsValues+' \\\\ncomments: '+task.requestKey.comments.replace('<span class=\"busjustformat\">','').replace('</span>','').replace('<br/>','').replace('\"','').replace('\\r\\n',' ').decodeHTML()+' \\\\nSaviynt Task # '+task.id+'\"}}'}",
"httpHeaders": {
"Authorization": "${access_token}"
},
"ticketidPath": "result.number",
"ticketStatusPath": "result.state",
"ticketStatusValue": [
"Open", "OPEN", "open"
],
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,
201
]
}
}]
}