Transform Attributes in a Mapping
Use a mapping to define attribute transformations during synchronization. In the following sample mapping excerpt, the value of the
displayName attribute on the target is set using a combination of the
firstName attribute values from the source:
For transformations, the
source property is optional. However, a source object is only available if you specify the
source property. Therefore, in order to use
source.firstName to calculate the
displayName, the example specifies
"source" : "".
If you set
"source" : "" (not specifying an attribute), the entire object is regarded as the source, and you must include the attribute name in the transformation script. For example, to transform the source username to lowercase, your script would be
source.mail.toLowerCase();. If you do specify a source attribute (for example,
"source" : "mail"), just that attribute is regarded as the source. In this case, the transformation script would be
Select Configure > Mappings, and select the Mapping.
Select the line with the target attribute whose value you want to set.
On the Transformation Script tab, select
Groovy, and enter the transformation as an
Inline Script, or specify the path to the file containing your transformation script.
When you use the UI to map a property whose value is encrypted, you are prompted to set up a transformation script to decrypt the value when that property is synchronized. The resulting mapping in
sync.json looks similar to the following, which shows the transformation of a user's