You can use the connector's config.ini
file to add custom fields.
Creating a field mapping
A custom field mapping is a line added to a specific block of the config.ini
file that designates the field in Oomnitza, as well as the location of the desired field in the Connector JSON.
mapping.[Oomnitza Field] = {"source": "[external field]"}
Sometimes fields require additional transformation before being sent to Oomnitza. These fields must be specified as custom mappings, and include the desired converter required to process the field. Please contact support@oomnitza.com for more information on converters. The format for these fields is:
mapping.[Oomnitza Field] = {"source": "[external field]", "converter": "[converter name]"}
Finding the Oomnitza field ID
The Field IDs in Oomniza are alphanumeric strings that are used to identify different fields. Many default or system fields in Oomnitza use human-readable Field IDs (such as ASSIGNED_TO or BARCODE). Other Field IDs and custom Field IDs use alphanumeric strings that look like this:
E622E72FC31F4946A77C95828FD1DBC3
They can be found by navigating to Configuration > Data model in Oomnitza, and selecting the appropriate field, and copying the field marked ID:
Finding the external field
The external field can be trickier to find. The external field referenced in the field mapping is taken from the JSON payload that Oomnitza receives from the target system (e.g. Okta, Jamf, etc).
To get these payloads, you'll need to run the connector in test mode with the --save-data argument. This command looks like:
python connector.py upload <system> --testmode --save-data
This will create a /saved-data folder in your main connector folder with the payloads labeled as 1.json, 2.json, 3.json, etc.
Open any of these files, and you'll see the structure of the connector Json. It will look something like this:
{
"profile": {
"field_1": "value 1",
"field_2": "value 2"
},
"status": "value 3"
}
When retrieving the External Field, you'll need the full path to the value using JSON dot notation. For example, if we wanted to map field_2, we'd create this field mapping:
mapping.[Oomnitza Field] = {"source": "profile.field_2"}
And if we want to get status, we'd use:
mapping.[Oomnitza Field] = {"source": "status"}
Comments
0 comments
Please sign in to leave a comment.