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.