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

Application Role Update : Role Modification Workflow

Pagrahari
New Contributor
New Contributor

We have configured Role Modification workflow as shown in the attached image. We have an issue where if Role owner submits request for application role update as per the workflow the approval gets completed as its auto approved but it goes to next approver defined in the workflow which is IAMTeam. Ideally the workflow should be completed and shouldn't go to IAMTeam. Could someone let me know why this is happening?

 

Pagrahari_0-1720028623984.png

 

13 REPLIES 13

rushikeshvartak
All-Star
All-Star

You have kept escalation in minutes hence its going to IAM team change unit to day and validate 


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

I have updated the escalation to 1 day in the workflow still its going to IAMTeam.

NM
Honored Contributor II
Honored Contributor II

@Pagrahari , which workflow type are you using??

Pagrahari
New Contributor
New Contributor

Its parallel workflow

NM
Honored Contributor II
Honored Contributor II

Check which workflow version is active.

Pagrahari
New Contributor
New Contributor

Its the latest version which is active.

The Role Approval access approval has been configured as serial which is why the approval is going to IAMTeam. Can someone help me in fixing this issue. I want to keep approval mode as serial but dont want to send the approval to IAM team if there is a role name update.

Change "Type of Approval" to Any Owner Approval required 

rushikeshvartak_0-1720463414916.png

Since its serial its going for IAM team approval

 


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

I dont want to change the configuration for approval mode. Can you help me on how can i use this query in the workflow 

(com.saviynt.ecm.identitywarehouse.domain.Access_approvers.executeQuery("Select status from access_approvers where request_access_key='{ARSREQUEST.id}'").size()==2)

Are you getting any error with above query ?


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Yes I am getting error when I submit role modification request saying 

Error Detail
Unexpected Error occurred Please try later..

And from the logs I found below traces. Can you help me in identifying whats wrong with this query

Exception in workflow service
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--org.jbpm.api.JbpmException: script evaluation error: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: com for class: Script6 at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:127) at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:115) at org.jbpm.pvm.internal.script.ScriptManager.evaluateExpression(ScriptManager.java:87) at org.jbpm.pvm.internal.el.ScriptExpression.evaluateInScope(ScriptExpression.java:48) at org.jbpm.pvm.internal.el.Expression.evaluate(Expression.java:108) at org.jbpm.pvm.internal.model.ExpressionCondition.evaluate(ExpressionCondition.java:41) at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.findTransitionUsingConditions(DecisionConditionActivity.java:62) at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.execute(DecisionConditionActivity.java:47) at org.jbpm.jpdl.internal.activity.DecisionConditionActivity.execute(DecisionConditionActivity.java:43) at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60) at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:582) at org.jbpm.pvm.internal.model.ExecutionImpl.take(ExecutionImpl.java:487) at org.jbpm.jpdl.internal.activity.ForEachActivity.execute(ForEachActivity.java:123) at org.jbpm.jpdl.internal.activity.ForEachActivity.execute(ForEachActivity.java:53) at org.jbpm.pvm.internal.model.op.ExecuteActivity.perform(ExecuteActivity.java:60) at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672) at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632) at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:217) at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:63) at org.jbpm.pvm.internal.cmd.StartProcessInstanceInLatestCmd.execute(StartProcessInstanceInLatestCmd.java:36) at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45) at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40) at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56) at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceByKey(ExecutionServiceImpl.java:71) at com.saviynt.ecm.services.WorkflowService.workflowaccessreqStart(WorkflowService.groovy:1063) at com.saviynt.ecm.services.RoleversionService.sendRequest(RoleversionService.groovy:1930) at com.saviynt.ecm.identitywarehouse.controllers.RolesController$_closure81.doCall(RolesController.groovy:4611) at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53) at com.saviynt.webservice.SaviyntRestAuthenticationFilter.doFilter(SaviyntRestAuthenticationFilter.groovy:159) at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62) at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59) at com.mrhaki.grails.plugin.xframeoptions.web.XFrameOptionsFilter.doFilterInternal(XFrameOptionsFilter.java:69) at com.brandseye.cors.CorsFilter.doFilter(CorsFilter.java:82) at java.lang.Thread.run(Thread.java:750)Caused by: javax.script.ScriptException: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: com for class: Script6 at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:152) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264) at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:123) ... 37 moreCaused by: javax.script.ScriptException: groovy.lang.MissingPropertyException: No such property: com for class: Script6 at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:349) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:146) ... 39 moreCaused by: groovy.lang.MissingPropertyException: No such property: com for class: Script6 at Script6.run(Script6.groovy:1) at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:346) ... 40 more
 
2024-07-09T14:47:13-05:00-ecm-services.WorkflowService-http-nio-8080-exec-161-49d2d-DEBUG-Found a request Request key - 18221
 
2024-07-09T14:47:13-05:00-ecm-services.WorkflowService-http-nio-8080-exec-161-49d2d-DEBUG-Access Approvers to be DC-[]
 
2024-07-09T14:47:13-05:00-ecm-services.WorkflowService-http-nio-8080-exec-161-49d2d-DEBUG-inside sendEmailForRequestDiscontinue
 
2024-07-09T14:47:13-05:00-ecm-services.SaviyntCommonUtilityService-http-nio-8080-exec-161-49d2d-DEBUG-baseUrlForEmail value in externalConfig : https://release-n-plus-one.saviyntcloud.com/ECM
 
2024-07-09T14:47:13-05:00-ecm-errors.GrailsExceptionResolver-http-nio-8080-exec-161-49d2d-ERROR-NullPointerException occurred when processing request: [POST] /ECM/roles/sendforapproval|Stacktrace follows:
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--java.lang.NullPointerException
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at com.saviynt.ecm.services.RoleversionService.updateJBPMExecutionId(RoleversionService.groovy:13009)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at com.saviynt.ecm.services.RoleversionService.sendRequest(RoleversionService.groovy:1940)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at com.saviynt.ecm.identitywarehouse.controllers.RolesController$_closure81.doCall(RolesController.groovy:4611)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.java:53)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at com.saviynt.webservice.SaviyntRestAuthenticationFilter.doFilter(SaviyntRestAuthenticationFilter.groovy:159)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.java:62)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.java:59)
 
2024-07-09T14:47:14-05:00-ecm--null-49d2d--at com.mrhaki.grails.plugin.xframeoptions.web.XFrameOptionsFilter.doFilterInternal(XFrameOptionsFilter.java:69)
 
 
 

Select language as groovy


Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.

Refer  https://forums.saviynt.com/t5/identity-governance/groovy-script-for-access-approvers-table/m-p/10418... 

  • (com.saviynt.ecm.workflow.Access_Approvers.executeQuery("Select status from Access_Approvers where request_access_key='18201'") == 2)

Regards,
Rushikesh Vartak
If this helped you move forward, click 'Kudos'. If it solved your query, select 'Accept As Solution'.