Skip to main content

Job

A job is a succession of tasks, to be launched and potentially scheduled.

After launching a job, its progress information will be inserted in the UJ_Job Instances table.

Examples

The following example creates a job made of two tasks that apply role mappings, the first for the AD connector, the second for SAP. Launching this job means launching both tasks successively.

The launch order is induced by the reading from top to bottom of all tasks in the job.


<Job Identifier="ApplyRoleMappings" DisplayName_L1="10: Generate Roles/Rules" >
<BuildRoleModelTask Identifier="AD_ApplyRoleMappings" Connector="AD" DisplayName_L1="AD - Generate Roles/Rules" />
<BuildRoleModelTask Identifier="SAP_ApplyRoleMappings" Connector="SAP" DisplayName_L1="SAP - Generate Roles/Rules" /></Job>

Task override

An existing task can be called with an Override suffix in order to launch the task, but with slight changes in its properties. Then the override task must be configured with the identifier of the original task and the properties that differ from the original task.

Suppose that after configuring a synchronization job in complete mode, we want to configure the exact same one in incremental mode.

As the incremental mode is configured via Dirty set to 1, this property is the only one to change to switch from complete mode to incremental mode.

The following example creates a task UpdateClassification to be used in the AD synchronization job in complete mode. Then, instead of creating a second task for the incremental mode, we choose to configure the incremental job as follows.


<UpdateClassificationTask Identifier="UpdateClassification" DisplayName_L1="AD - Users Classification"> <TaskEntityType EntityType="AD_Entry"/></UpdateClassificationTask><Job Identifier="AD_Synchronization_Delta" DisplayName_L1="10: AD - Synchronization (delta)" Agent="Local"> ...
<UpdateClassificationTaskOverride Identifier="UpdateClassification" Dirty="1">
</Job>

Dependent tasks

The following example creates a job where the task Microsoft Entra ID - Data Collect is launched after Microsoft Entra ID - Extraction only if Microsoft Entra ID - Extraction produces an output and does not end up blocked or in an error state.


<Job Identifier="AzureAD_Synchronization" DisplayName_L1="10: Microsoft Entra ID (formerly Microsoft Azure AD) - Synchronization" Agent="Local">
<ExportTask Identifier="AzureAD_Synchro" Agent="Local" Connection="AzureAD_Export_Fulfillment" OpenIdClient="Job" DisplayName_L1="Microsoft Entra ID - Extraction" ContinueOnError="1"/>
<PrepareSynchronizationTask Type="Changes" DisplayName_L1="Microsoft Entra ID - Data Collect" Connector="AzureAD" Agent="Local" OpenIdClient="Job">
<TaskDependsOnTask ParentTask="AzureAD_Synchro"/> </PrepareSynchronizationTask> ... </Job>

Most synchronization tasks are dependant on one another like this. This way, an error in a synchronization task will cut short the rest of the synchronization tasks. But it does not stop the other tasks in the job, for example the synchronization of another connector, or tasks that are independent from synchronization.

Complete job

The following example shows a typical configuration of the complete job.


<Job Identifier="SynchroAllConnectorComplete" DisplayName_L1="Synchronization Daily (Complete Mode)" Agent="Local"> <Step Identifier="ExportADWithIgnoreCookie"/> <Step Identifier="AD_PrepareSynchronizationComplete"/> <Step Identifier="AD_Synchronization"/> <Step Identifier="Export_AzureADWithIgnoreCookie"/> <Step Identifier="AzureAD_PrepareSynchronization"/> <Step Identifier="AzureAD_Synchronization"/> <Step Identifier="Export_LDAPEntry"/> <Step Identifier="Export_LDAPMember"/> <Step Identifier="LDAP_PrepareSynchronization"/> <Step Identifier="LDAP_Synchronization"/> <Step Identifier="SAB_PrepareSynchronization"/> <Step Identifier="SAB_Synchronization"/> <Step Identifier="HR_PrepareSynchronization"/> <Step Identifier="HR_Synchronization"/> <Step Identifier="Directory_PrepareSynchronizationChange"/> <Step Identifier="Directory_SynchronizationChange"/> <Step Identifier="Job_Recertification_Start"/> <Step Identifier="Recertification_MarkDirty"/> <Step Identifier="ComputeRoleModelSynchroDaily"/> <Step Identifier="LDAP_Provisioning"/> <Step Identifier="AzureAD_Provisioning"/> <Step Identifier="AD_Fulfill"/> <Step Identifier="LDAP_Fulfill"/> <Step Identifier="AzureAD_Fulfill"/> <Step Identifier="AD_Fulfill"/> <Step Identifier="Fulfill_Workflow_Directory"/> <Step Identifier="All_ComputeAllAssignedProfiles"/></Job>

Properties

PropertyDetails
Agent optionalType Int64 Description Identifier of the agent on which the job will be launched. Note: when not specified, the job is to be launched on the server. Warning: all tasks in the job must be launched on the same agent or on the server.
CronTabExpression optionalType String Description Scheduling expressed using the crontab syntax.
CronTimeZone default value: 0Type CronTimeZone Description Time zone used to compute the next occurrences according to the given cron expression. 0 - UTC 1 - ServerTime
DisplayName_L1 requiredType String Description Display name of the job in language 1 (up to 16).
Identifier requiredType String Description Unique identifier of the job.
IsConnectorJob default value: falseType Boolean Description Indicates that the job is specific to the connector configuration screen.
IsIncremental default value: falseType Boolean Description Defines if a job is in incremental mode.
IsInitializationJob default value: falseType Boolean Description Indicates that the job is an initialization job.
LogLevel default value: NoneType LogLevel Description Level of details that will be displayed in the logger. Possible values are: 0 - Trace 1 - Debug 2 - Information 3 - Warning 4 - Error 5 - Critical 6 - None
UserStartDenied default value: falseType Boolean Description true to deny the manual launch of the job.

Child Element: Step

A step is simply an easy way to use an existing task in a job.

A job can be configured with as many steps as needed.

Examples

The basic example of a job is equivalent to the following:


<BuildRoleModelTask Identifier="AD_ApplyRoleMappings" Connector="AD" DisplayName_L1="AD - Generate Roles/Rules" /><BuildRoleModelTask Identifier="SAP_ApplyRoleMappings" Connector="SAP" DisplayName_L1="SAP - Generate Roles/Rules" /><Job Identifier="AD_Synchronization_Delta" DisplayName_L1="10: AD - Syncronization (delta)" Agent="Local">
<Step Identifier="AD_ApplyRoleMappings"> <Step Identifier="SAP_ApplyRoleMappings"></Job>

Properties

PropertyDetails
Level default value: -1Type Int32 Description Grouping level of the tasks within the job. When executing a job, Identity Manager will launch simultaneously the tasks of a same Level. Level-2 tasks are not launched before all level-1 tasks are achieved.
Task requiredType Int64 Description Id of the task