JavaScript extension reference

The reference section is arranged alphabetically.

There are a number of IBM Verify Identity Governance specific objects available for use. IBM Verify Identity Governance uses JavaScript extensions to package JavaScript objects and APIs. An extension can also be a package of other extensions (for example, ModelExtension).

After an extension is defined, it can be registered in the IM_HOME/data/scriptframework.properties file to be used in a specific JavaScript context. In some cases, an environment needs to be created for an extension.

Table 1 shows these script extensions.

Table 1. Script extensions
Script Extension Object Name Object Type
AttributesExtension (deprecated) ATTRIBUTES Map
EmailContextExtension EmailContext EmailContext
EnroleExtension Enrole

error

Enrole
Error
IdentityPolicyExtension IdentityPolicy IdentityPolicy
LoopCountExtension loopcount int
PersonPlacementRulesExtension entry Map
PostOfficeExtension PostOffice PostOffice
ProvisioningPolicyExtension
parameters
reason
Map
int (0: New Account, 1: Existing Account)
AccountModelExtension
Account constructor
AccountSearch constructor
Account
AccountSearch
CredentialModelExtension Credential Credential
OrganizationModelExtension ContainerSearch constructor ContainerSearch
PersonModelExtension
Person constructor
ExtendedPerson constructor
PersonSearch constructor
Person
ExtendedPerson
PersonSearch
RoleModelExtension
Role constructor
RoleSearch constructor
Role
RoleSearch
ServiceModelExtension
Service constructor
ServiceSearch
Service
ServiceSearch
ReminderExtension reminderCtx Reminder
ServiceExtension service DirectoryObject
SubjectExtension subject Person
Note: For Orphan Adoption Rule JavaScript, the subject is a Map, which contains the account attributes returned from reconciliation. The entries in the map are referred by the name of the account attributes, which might vary based on the service type.
WorkflowExtension
process
activity
Participant constructor
ParticipantType
$RelevantDataName
Activity
Participant
ParticipantType
ProcessData
Process

Finding methods and properties for a specific JavaScript object

This example demonstrates how to find methods and properties for a specific JavaScript object.

If you are writing a workflow script, look in the scriptframework.properties file to see which extensions are available. By default, workflow loads the model extensions, the WorkflowExtension, and the LoopCountExtension.

Table 1shows that WorkflowExtension defines scripting objects that include process, activity, a Participant constructor, an object named ParticipantType, and a series of workflow-specific pieces of data.

In another column in the table, notice that the process object is of type Process. Now, locate Process in this reference to see that Process type has a property called name, and a method called getParent().

To understand how to use maps, notice that objects, such as parameters from ProvisioningPolicyExtension, have a type of Map. A Map, also known as a dictionary, is a named JavaScript object that can hold many other objects which can be accessed by name. The parameters object holds another object named uid. To access uid, you can type parameters.uid[0]. (In this case uid is an array, so you must type [0] to get the first element of the array.) The values that a map holds will vary between each map. For more information, locate the specific map in the JavaScript reference.