Quicklink Population Rule Error Because Requestee Argument Return Null

Which IIQ version are you inquiring about?

8.4

Share all details about your problem, including any error messages you may have received.

Hi Experts,

Recently, I created a quicklink population and implemented a rule to hide unnecessary roles and display roles based on the requestee’s criteria (such as their title/level).

The rule works fine when users are requesting a role on behalf of a single user. However, when requesting a role on behalf of multiple users, the system displays the following error. This occurs because the requestee argument returns null when multiple users are specified.

I’m stuck at this point and would appreciate any advice from experts. I still hope to achieve my goal of allowing users to request roles on behalf of multiple users.

My rule to show necessary role based on identity condition

import sailpoint.object.Filter;
import sailpoint.object.Identity;
// Get identity attributes
String identityType = requestee.getAttribute(“identityType”); //highlighting requestee, because error from this
String workerBadgeType = requestee.getAttribute(“workderbadgetype”); //highlighting requestee, because error from this

// Initialize filter
Filter filter = null;

//my logic to filter which role to show is here
if (){

}

return filter;

Hi @Bernardc

It was a expected behaviour for bulk requests. However you can add null check on requestee, you would able to receive the value in requestee parameter after you choose any role. I’m attaching the description what was mentioned in the rule, for your reference.

Hi @Arpitha1 ,

Would like to understand how we can get requestee parameter if the arguments is return null

You will get the value once you choose the role name in second page while requesting access.

Add a null check on requestee and then try to launch manage access. You will get to know

Hi @Arpitha1 ,

As checked the “Manage Access” in second page will gray out without selecting user first and user are not allowed to select role first.

Also, would like to know, how should I handle the null check?

You need to select multiple users and then go to next page.

Enclose your code after import statements in if block as shown.


if(requestee != null){

}

Hi @Arpitha1 ,

If I select multiple users, an error occurs because the requestee is still null.

To address this, I added a null check on the requestee to detect if it’s null. When the requestee is null, the filter makes all roles visible.

However, this approach violates the intended goal of filtering the correct roles for the correct identity.

@Bernardc

That’s the expected behaviour for multiple / bulk users selection. You can see all roles/accesses but it will not allow you to select everything. Though you can see all, you can choose only selected roles as per your filter.

Same thing had explained in the description of argument as per above attached screenshot.

Hi @Arpitha1 ,

I have updated the condition in my null check. I agree that all roles/accesses will display, but users can still select any of the roles. I tested the role request, and the role is actually provisioned to the user, even though they are not supposed to have it.

@Bernardc Yes, user can select the role but then in selection it will show this user as per dynamic scope rule should have access or not.
“Identity on whose behalf the Life Cycle Manager request is being made. In the case of bulk requests, this argument will be set to null when determining the roles that are visible to the requestor. It will be provided once a selection has been made in order to determine whether or not the given requestee should have access to the selected role.”

@Bernardc Though it displays all roles, it wouldn’t allow to select the roles if those are not matching the your filter.

Can you share your rule here.

Hi All,

I’d like to provide an update: it works once a null check is added. The requestee argument now handles multiple requestees as expected. As described below, users who are not supposed to have a specific role or entitlement will receive an alert and will not be able to submit the request.

Thanks to all the experts for their insights!

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.