How to run refresh for single user in a workflow using needsrefresh method

Which IIQ version are you inquiring about?

Version 8.3

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

Hi,

We are creating new users via quicklink. Once Identity is created we need to run refresh for each single user via workflow (not by calling another step Step action=“call:refreshIdentity” icon=“Task” name=“Refresh Identity”). Is there a way to call a inbuilt method like setneedrefresh() in the same step where identity is getting created .

Thanks!

Hi Preethi,
Yes you can set need’s refresh flag to true there is method in the Identity class


however I am affraid it does something different than what you expect. This flag is used to mark identity as the one that needs to be refreshed during delta refresh process. That means that this identity will not be refreshed instantly but with next Refresh identity cube task execution if you use it with the following option selected

if your task does not have this checkbox selected this identity will be refreshed anyway.

There are few ways how you can refresh identity but it in general depends on the way how does your workflow to create it work. If you use LCM Provisioning to execute provisioning of the new identity than the easiest would be just to set this variable in the step which starts LCM Provisioning subprocess to true

Second option as you said is to have separate step to refresh identity.

Hi @Preethi

If you want run refresh process to a single identity via workflow you can invoke action finishRefresh.
This method is invoked in workflow “Identity Refresh” and you can invoke method with following arguments

<Step action="finishRefresh" name="Finish Refresh" posX="515" posY="10">
    <Arg name="identityName" value="ref:identityName"/>
    <Arg name="identity" value="ref:identity"/>
    <Arg name="refreshOptions" value="ref:refreshOptions"/>
    <Arg name="previousVersion" value="ref:previousVersion"/>
    <Arg name="project" value="ref:project"/>
    <Arg name="identitizer" value="ref:identitizer"/>
    <Description>
      Provision what is left in the project then finish the refresh
      by running policy checks, recalculating scores, and other things.
    </Description>
    <Transition to="Save Identity"/>
  </Step>

You can add the below step in workflow , abd need to pass the argumnet value accordingly based on the refresh checkout you need , for below example i have select checkHistory checkbox to create a snapshot .

  <Step action="call:refreshIdentity" icon="Task" name="Take Snapshot" posX="897" posY="123">
    <Arg name="identityName" value="ref:identityName"/>
    <Arg name="checkHistory" value="true"/>
    <Transition to="Launch Certification"/>
  </Step>