GetFields

Retrieves fields from an object using dot notation.

python · Community Common Scripts

Source

import demistomock as demisto  # noqa: F401
from CommonServerPython import *  # noqa: F401


def get_fields(args):
    """
    Retrieves fields from an object using dot notation by leveraging demisto.get().
    :param args: dictionary containing the Demisto arguments object.
    :return: hr_string as a human readable string. entry_context as a dictionary containing the
    results.
    """
    values_to_search = argToList(args.get("value"))
    get_field = args.get("getField")

    reduced_dicts = []
    for dict_item in values_to_search:
        if isinstance(dict_item, dict):
            if get_field:
                fields_to_get = get_field.split(",")
                value = {field: demisto.get(dict_item, field) for field in fields_to_get}
                if value:
                    reduced_dicts.append(value)
            else:
                reduced_dicts.append(dict_item)

    if len(reduced_dicts) == 1:
        return reduced_dicts[0]

    if argToBoolean(args.get("stringify", "false")):
        return json.dumps(reduced_dicts, ensure_ascii=False)
    else:
        return reduced_dicts


def main():
    args = demisto.args()
    return_results(get_fields(args))


# python2 uses __builtin__ python3 uses builtins
if __name__ == "__builtin__" or __name__ == "builtins":
    main()

README

Retrieves fields from an object using dot notation

Script Data


Name Description
Script Type python3
Tags transformer, general, entirelist

Inputs


Argument Name Description
value The list to apply the transformer to.
getField The field to extract from each item (Optional).
stringify Whether the argument should be saved as a string (Optional).

Outputs


There are no outputs for this script.