Mapping reasons

Airdrop uses transformation methods to map data from one data model to another. These methods operate at the individual field level, transforming data field-by-field rather than entire records at once. Each transformation method has specific requirements regarding the field types and data formats it can work with. If the source data field does not meet these requirements for a particular transformation method, that mapping option is not available for selection during the mapping configuration process.

There are several reasons why some mappings might be unavailable:

  1. A common reason is mismatch of types. For example, if a DevRev field is expected to be rich_text, but the field is set as text mapping to some fields is unavailable. Refer to the supported types section and the general DevRev documentation for more information.
  2. Only references can be mapped to references. Ensure that source system fields are correctly mapped to reference fields in DevRev.
  3. Support for the struct type is limited. Marking a field as a struct in the metadata schema will make it unavailable for mapping outside of using the custom jq transformation method. Refer to the metadata tips for more information.
  4. Links are supported only on works and conversations.

Transformation methods

The following tables outline the available transformation methods categorized by their applicable field types:

Custom fields transformation methods

MethodDescriptionRequirements
make_constrained_simple_valuePropagates validation constraints from the external system and enforces those in DevRev-
make_enumProduces an enum fieldExternal field must be of type enum
make_uenumProduces an enum fieldExternal field must be of type enum
reference_custom_fieldProduces a reference fieldExternal field must be of type reference

Metadata extraction transformation methods

MethodDescriptionRequirements
make_custom_stagesMakes custom stagesRequires stage diagram data in the domain metadata
map_enumProduces an enum fieldExternal field must be of type enum
map_rolesMaps permission roles from external to DevRev format-
use_as_array_valueProduces an array fieldExternal field must be a scalar (single-value)
use_devrev_recordEnables use of a fixed reference to something in DevRevDON should be of the right type
use_directlyIdentity operator that returns exactly the inputExternal field must be of the same type as the DevRev field; if external field is an array, internal field must also be an array
use_fixed_valueProduces a fixed value in DevRevOnly available for boolean or enum DevRev fields

Custom and stock fields transformation methods

MethodDescriptionRequirements
use_rich_textProduces a rich text fieldExternal field must be of type rich_text

Constructed custom fields transformation methods

MethodDescriptionRequirements
construct_text_fieldProduces a text fieldExternal field must be of type text

Universal transformation method

MethodDescriptionRequirements
use_raw_jqEnables the use of jq to transform dataCan be used on all fields, but should be used sparingly, only if no other transformation method is available
Was this page helpful?
Built with