04/25/2023 03:33 AM
Hi Team,
I have a scenario where response of a specific API call needs to be stored in users table. I tried using Saviynt API - updateUser -https://documenter.getpostman.com/view/1797923/TVsvi7G2#5e6acb36-5804-4301-bda3-9cf3ba14c402
The update is working fine as well but the call is almost taking 2 mins and while checking the logs could see that it's processing all tech rules as well even through the attribute I updated didn't match any existing rules. Not sure what's happening in the backend.
Detailed logs are shared in the freshdesk ticket for review - https://saviynt.freshdesk.com/support/tickets/1622631
Kindly check and assist.
-Siva
04/25/2023 05:25 AM
I found from the documentation that passing inlineruleevaluation as falsewill stop the rules from getting processed and it's working as well - https://documenter.getpostman.com/view/1797923/TVsvi7G2#5e6acb36-5804-4301-bda3-9cf3ba14c402
inlineruleevaluation - true/ false (default is true), if true then rules will be evaluated immediately, if false rules will be evaluated by a job.
@Saviynt Team: I have couple of questions here.
1) When the user is updated with inlineruleevaluation: false, then the rules are not processed but available in the execution trail as Not Processed.
It's mentioned in the documentation that It's highly recommended to pass inlineruleevaluation:"false" for bulk load and call processrules api to evaluate and run the rules after the load is done.
In my case, the update to this attribute won't match any user update rule but if I send inlineruleevaluation: false, it will load the execution trail with lot of Not processed user changes. So, what it's the recommendation here?
2) Could you guys confirm why inlineruleevaluation: trueis executing all the birthright rules. Ideally, it should execute only the update rules and when there is an action of re-run all / selected provisioning rules for the matched update rule, it should execute specific technical rules. The existing behaviour is kind of weird.
Notify @SB / @Darshanjain / @rushikeshvartak
04/25/2023 06:12 AM
Hi @Sivagami
Please find the responses accordingly below
1. When ever there is a bulk upload we highly recommend to put inlineruleevaluation as false as there is no issues in Api update. Now even though you don't have any attribute matching suggest you to pass it has false.
2. As execution trial is now loaded if you have done a bulk upload , you can run the process rule Api now.
Now in both calls if you send this in the body "runzerodayrules" : "false", then it will not check zeroday rules and run only user udpate rules
Note: inline rule evaluation if its true it checks zerodays rules by default, its the product behavior.
Thanks
Darshan
04/25/2023 07:01 AM
Thanks @Darshanjain for the response. When you mean both calls, do you mean updateUser as well as processrules api? I don't see runzerodayrules to be an accepted parameter for updateUser. Please clarify.
-Siva
04/25/2023 08:21 AM
Yes its for both. you can use it
Thanks
Darshan
05/01/2023 12:29 AM
It is still executing all rules in the backend. runzerodayrules set to false in the API.
-Siva
05/01/2023 03:11 AM
Hi @Sivagami
Please pass the false in double invited commas like below
05/03/2023 02:38 AM
Tried the below as well and still it's executing all rules
Logs shared in the Saviynt freshdesk ticket for reference - https://saviynt.freshdesk.com/support/tickets/1622631
-Siva
05/03/2023 03:00 AM
Hi @Sivagami
Just to clarify its not executing the rules but it is checking the birthright access and if doesn't match it removes for update user ( even from UI this is the behaviour ).
So better to suggest you to use second approach put inlineruleevalaution as false and then in processrules Api just pass it as false where it will work as expected.
Thanks
Darshan
05/03/2023 03:56 AM
Thanks @Darshanjain ! Do we need to log a enhancement request to update the expected behaviour?
05/03/2023 04:26 AM
Irrespective api should not take time in minutes. Performance improvement should be done. Please also mention no. Of active rules in your system to properly prepare use case for product team
05/03/2023 04:39 AM
I agree, so that's why we have the variable to set it inlineruleevaluation as false so that the performance is improved and run the Process Api call as you wish.
Now why is this needed is being explained in above response already, so these you can use those variables accoridngly.
Thanks
Darshan
05/03/2023 04:37 AM
Hi @Sivagami
This is the expected behavior and this is needed to check if there is any change in the attribute it needs to check the BR access as you would have kept the condition of remove BR access if not matching. so you can use the above method to get it updated.
Thanks
Darshan