{"id":19607205,"url":"https://github.com/robocorp/example-workitems-splitcombine","last_synced_at":"2026-03-19T10:46:24.807Z","repository":{"id":103903564,"uuid":"539493500","full_name":"robocorp/example-workitems-splitcombine","owner":"robocorp","description":"MapReduce-like pattern for generating one final output Work Item from multiple input ones.","archived":false,"fork":false,"pushed_at":"2022-09-21T14:46:17.000Z","size":8,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-08-22T00:10:44.534Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"RobotFramework","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robocorp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-21T13:07:26.000Z","updated_at":"2023-02-19T00:32:13.000Z","dependencies_parsed_at":"2023-06-27T14:05:55.829Z","dependency_job_id":null,"html_url":"https://github.com/robocorp/example-workitems-splitcombine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robocorp/example-workitems-splitcombine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-workitems-splitcombine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-workitems-splitcombine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-workitems-splitcombine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-workitems-splitcombine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robocorp","download_url":"https://codeload.github.com/robocorp/example-workitems-splitcombine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robocorp%2Fexample-workitems-splitcombine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29368702,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T10:09:15.581Z","updated_at":"2026-02-12T14:34:45.031Z","avatar_url":"https://github.com/robocorp.png","language":"RobotFramework","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create output Work Item with result from all the released inputs\n\nMapReduce-like pattern for generating one final output Work Item from multiple input\nones.\n\nThis illustrates a simplified pattern of working with Work Items in a way where you\nneed to collect and process multiple input items before being able to create a final\nresult with data coming from all the previous items.\n\nAnd since you can't create an output Work Item without linking it to an input (parent),\nwe decided in this example to use the initial input item as parent for the single\noutput one we're going to create. But we don't know what data to put in this output\nduring the creation of it (because we haven't traversed all the input items until the\nend), so we just save it empty and then come back on it later on to put inside of it\nthe finally computed result from all the about-to-process input items.\n\n## How it works\n\n1. `Number To Sequence`: Takes a variable `number` from one input Work Item and creates\n   a sequence of numbers (1, 2, ..., N) where every sub-number is saved into an\n   individual output Work Item under the variable `nr`.\n2. `Sequence To Total`: Receives as inputs all the numbers above (previous step output\n   items) and adds their squares into a total. Example: 1^2 + 2^2 + 3^2 = 1+4+9 = 14.\n   The final sum is saved into a single output Work Item under the variable `total`.\n   The trick is that even if we traverse all the inputs with a helper looping keyword\n   (and they get released into the process one by one), we still manage to save the\n   final result in a previously created output Work Item, whose parent is the initial\n   input one.\n3. `Process Total`: Just retrieves the total computed above and logs it.\n\n### Notes\n\n- For the first task (#1) select the already present input Work Item to run with:\n  **sum-of-squares**\n- For every subsequent task (#2, #3) select as input the last output obtained from the\n  previous step. Example:\n  - Task #1: sum-of-squares\n  - Task #2: run-2\n  - Task #3: run-3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Fexample-workitems-splitcombine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobocorp%2Fexample-workitems-splitcombine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobocorp%2Fexample-workitems-splitcombine/lists"}