Skip to content

Latest commit

 

History

History
101 lines (76 loc) · 3.09 KB

File metadata and controls

101 lines (76 loc) · 3.09 KB
description
Seamlessly integrate "With Items" task results into your original list.

Process With Items Results

Use case

You're dealing with nested data structures and need to extract results from tasks ran "With Items" into your original list. You want a unified, easy-to-manipulate list that includes all necessary data.

Overview

The Process With Items Results transform enables effective incorporation of "With Items" task results into your original list. It bridges the gap between the collected results and the original list, making your data manipulation tasks simpler and more efficient.


Parameters

ParameterDescriptionRequiredRequired
Base ListThis is the main list to which you want your collected results to be appended.truetrue
Collected ListThis is the list of results from your completed With Items task, from which the nested result.result attribute will be extracted.truetrue
Attribute NameThis is the name you'd like to set for the new attribute to be appended to the Base List.truetrue

Usage

The below scenario will attempt to illustrate how the Process With Items Results transform can be utilized to simplify With Items results collection.

Input Lists

Assume we have a base list called base_list:

base_list: [
  {
    name: "John",
    age: 30,
  },
  {
    name: "Mary",
    age: 35,
  },
]

And we ran a With Items task against this list to collect additional data from these items that's stored in a new list called collected_list that includes result.result attributes like this

collected_list: [
  {
    result: {
      result: ["golf", "reading"]
    }
  },
  {
    result: {
      result: ["cooking", "music"]
    }
  },
]

Action Parameters:

We want to extract the result.result list from each item in the collected_list and append it to each corresponding item in the base_list as a new attribute named hobbies.

base_list: base_list
collected_list: collected_list
attribute_name: hobbies

Jinja2 Equivalent:

{% raw %}
{% set normalized_list = [item.result.result for item in my_collected_list] %}
{% for list_item in normalized_list %}
  {% do my_base_list[loop.index0].update({'hobbies': list_item}) %}
{% endfor %}
{% endraw %}

Results Output

After processing, your results will look like this:

results: [
  {
    name: "John",
    age: 30,
    hobbies: ["golf", "reading"]
  },
  {
    name: "Mary",
    age: 35,
    hobbies: ["cooking", "music"]
  },
]

Having understood the Process With Items Results transform, you're now capable of seamlessly integrating data from one list to another. Remember to carefully specify your Collected List, Base List, and Attribute Name to ensure a successful transformation.