When you map the fields from two different tools, you may have to, at times, resolve certain field-level incompatibilities. You may have to do some data transformations to make the data from the source system acceptable by the destination system.
Agility Connect Customizations is a python based framework that lets you define such transformational customizations required when you create a mapping. This framework has a set of predefined functions that are readily consumable from within the UI in the form of code templates.
The Customization Code editor has been templatized with a predefined code snippet. You can simply use one of the available customization functions to define your customizations with little or no coding knowledge. However, the possibilities are limited only to your imagination as you can even write advanced code to define more complex customizations in case you are well versed with Python.
Here is an example use case to illustrate how it works.
Let us assume you want to map the Description fields of Jira and Digital.ai Agility and in doing so you want to truncate the description field values from Digital.ai Agility to 20 characters before syncing with Jira.
- Set out to create a mapping as usual and in doing so, click the settings icon (cogwheel) of the Digital.ai Agility's Description field.
- Click Customize Jira Description. The Customization Code Editor shows up.
- You can work with the Customization Code Editor in two different modes—Basic and Advanced. The default is the Basic mode that lets you drag and drop customization methods and conditions. You can switch to the Advanced mode by selecting Advanced from the Customization Type drop-down list.
- Here's an example of how to define a customization to truncate the Digital.ai Agility Description field values to 20 characters before syncing it with the Jira Description field.
- Drag and drop the Truncate method from the left pane.
- Leave the Input_param field's value as [$ input_value $]. This is the notation to pass the Digital.ai Agility asset's Description field value to the Truncate method.
- Type the length of the output text in the length field.
- Click Save as Draft.
- Select Advanced from the Customization Type drop-down list. A default code snippet shows up.
- Now, edit the second line of the code which is
output_value = input_valueand make it
output_value = utils.truncate(input_value, 20).
The final code looks like this:
- Now, click Save as Draft to save the code and proceed with the mapping creation process as discussed earlier.
That's it. You have now created a mapping with customization that truncates the Digital.ai Agility Description field values to 20 characters before syncing it with the Jira Description field.
Some of the customization features such as building complex customizations using two or more methods (using conditional operators If, Else, and Else If), on_error directives, and save the output in a variable are still evolving and are not fully functional.