Support for Custom Workflow
The following outlines how the before provisioning rule can be used to modify the provisioning plan (as provisioning is sent out), for a custom workflow use case.
Before Provisioning rule - Custom Workflow
SailPoint has configured a key named CustomRequestType
that can be used to provision the custom request type. In the before provisioning rule you can set this key with the request type that you want to be provisioned in SAP. For example, if you want to set 028
in the request type, you will set it by using the following:
attrRequest.setName("CustomRequestType");
attrRequest.setOperation(ProvisioningPlan.Operation.Set);
attrRequest.setValue("028");
Custom Type for Certification
If you want to provision the custom request type when a certification is done, use the before provisioning rule to set the CustomRequestType
key. You can check to see if the request is for certification by using the following line:
String source = plan.get("source");
If the source equals certification, you can set the CustomRequestType
in the attribute request, by using the following:
if ("Certification".equals(source)) {
log.warn(" Inside Certification ");
AttributeRequest attrRequest = new ProvisioningPlan.AttributeRequest();
attrRequest.setName("CustomRequestType");
attrRequest.setOperation(ProvisioningPlan.Operation.Set);
attrRequest.setValue("028");
}
A Sample provisioning plan for certification after this rule will look like the following:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ProvisioningPlan PUBLIC "sailpoint.dtd" "sailpoint.dtd">
<ProvisioningPlan nativeIdentity="SAMEER/AHMED" targetIntegration="SAPGRCNew" trackingId="26a76b714cba4ba29b63efb16d488179">
<AccountRequest application="SAPGRCNew" nativeIdentity="SAMEER/AHMED" op="Modify">
<AttributeRequest name="Roles" op="Remove" trackingId="7f0000018b3c1bf8818b427e6a5b3fbd, 7f0000018b3c1bf8818b427e6a4d3fbc">
<Value>
<List>
<String>SELF~~0050568569A01EDB82A956794BCE8C77</String>
<String>SELF~~0050568569A01EDB82AA25091DEECC77</String>
</List>
</Value>
</AttributeRequest>
<AttributeRequest name="CustomRequestType" op="Set" value="028"/>
</AccountRequest>
<Attributes>
<Map>
<entry key="source" value="Certification"/>
<entry key="sourceId" value="7f0000018b3c1bf8818b427d32123fba"/>
<entry key="sourceName" value="Application Owner Access Review for SAPGRCNew"/>
</Map>
</Attributes>
<Requesters>
<Reference class="sailpoint.object.Identity" id="c0a81d9489b013d08189b0441fc900ff" name="spadmin"/>
</Requesters>
</ProvisioningPlan>