Before Provisioning Rule SDIM

Hello

We are using SDIM to create tickets in topdesk.
This works, but we need to extend the provisioning plan with some information from the identity.

Currently we are using a beforeProvisioning rule bases on this blog.
It looks like the rule is executed and we see the attributes being added but the actual value is set on “Unknown” .

Is there something we are missing?

<![CDATA[
           import sailpoint.object.*;
           import sailpoint.object.ProvisioningPlan.AccountRequest;
           import sailpoint.object.ProvisioningPlan.AccountRequest.Operation;
           import sailpoint.object.ProvisioningPlan.AttributeRequest;
           import sailpoint.object.ProvisioningPlan;
           import java.util.List;
           
   		
           List accountRequests = plan.getAccountRequests();
   		
           if (accountRequests != null) {
               for (AccountRequest accountRequest : plan.getAccountRequests()) {
                  
                   Identity identity = plan.getIdentity();

                   if (identity != null) {
   
                       String displayName = identity.getDisplayName();
                       String employeeNumber = identity.getAttribute("employeeNumber");

                       // Add attributerequests to account request
                       accountRequest.addArgument("displayName", displayName);
                       accountRequest.addArgument("employeeNumber", employeeNumber);
                   }
               }
           }

       ]]>

There is a space after 'employeeNumber ’ in your getAttribute call. Is that intentional?

String employeeNumber = identity.getAttribute("employeeNumber ");

just a typo in an attempt to make the rule not customer specific.
The actual rule does not include it.

Hi @jaspera ,

Rule seems to be good. How are you accessing these variable (displayName, employeeNumber) in SDIM integration? It should go something like this $!plan.arguments.displayName