Webinar

November 3rd, 2021 12:00 PM EDT
Automation for Field Services & DistributionNovember 3rd, 2021 12:00 PM EDT
Learn how creating a digital workforce can improve your supply chain processes!

Add Work Item File

Add given file to work item.

Arguments

Argument Type Default value Description
pathnull
nameNone
param path:Path to file on disk
param name:Destination name for file. If not given, current name of local file is used.

NOTE: Files are not uploaded before work item is saved

Examples

*** Tasks ***
Add work item file    output.xls
Save work item

Add Work Item Files

Add all files that match given pattern to work item.

Arguments

Argument Type Default value Description
patternnull
param pattern:Path wildcard pattern

Examples

*** Tasks ***
Add work item files    %{ROBOT_ROOT}/generated/*.csv
Save work item

Clear Work Item

Remove all data and files in the current work item.

Examples

*** Tasks ***
Clear work item
Save work item

Create Output Work Item

Create a new output work item.

An output work item is always created as a child for an input item, and as such requires an input to be loaded.

All changes to the work item are done locally, and are only sent to the output queue after the keyword Save work item is called.

Examples

*** Tasks ***
${customers}=    Load customer data
FOR    ${customer}    IN    @{customers}
    Create output work item
    Set work item variables    name=${customer.name}    id=${customer.id}
    Save work item
END

Delete Work Item Variables

Delete variable(s) from the current work item.

Arguments

Argument Type Default value Description
namesnull
forceTrue
param names:Names of variables to remove
param force:Ignore variables that don't exist in work item

Examples

*** Tasks ***
Delete work item variables    username    email
Save work item

For Each Input Work Item

Run a keyword or function for each work item in the input queue.

Arguments

Argument Type Default value Description
keyword_or_funcstr, Callablenull
argsnull
_limitint0
_collect_resultsboolTrue
kwargsnull

Automatically collects and returns a list of results, switch _collect_results to False for avoiding this.

param keyword_or_func:
 The RF keyword or Py function you want to map through all the work items
param args:Variable list of arguments that go into the called keyword/function
param kwargs:Variable list of keyword arguments that go into the called keyword/function
param _limit:Limit the queue item retrieval to a certain amount, otherwise all the items are retrieved from the queue
param _collect_results:
 Collect and return a list of results if truthy

Examples

*** Tasks ***
Log Payloads
    @{lengths} =     For Each Input Work Item    Log Payload
    Log   Payload lengths: @{lengths}

*** Keywords ***
Log Payload
    ${payload} =     Get Work Item Payload
    Log To Console    ${payload}
    ${len} =     Get Length    ${payload}
    [Return]    ${len}

OR

*** Tasks ***
import logging
from RPA.Robocorp.WorkItems import WorkItems

library = WorkItems()

def log_payload():
    payload = library.get_work_item_payload()
    print(payload)
    return len(payload)

def log_payloads():
    library.get_input_work_item()
    lengths = library.for_each_input_work_item(log_payload)
    logging.info("Payload lengths: %s", lengths)

log_payloads()

Returns a list of results.

Get Current Work Item

Get the currently active work item.

The current work item is used as the target by other keywords in this library.

Keywords Get input work item and Create output work item set the active work item automatically, and return the created instance.

With this keyword the active work item can be retrieved manually.

Examples

*** Tasks ***
${input} =    Get Current Work Item
${output} =   Create Output Work Item
Set Current Work Item    ${input}

Get Input Work Item

Load the next work item from the input queue, and set it as the active work item.

Arguments

Argument Type Default value Description
_internal_callboolFalse

Load the next work item from the input queue, and set it as the active work item.

Each time this is called, the previous input work item is released (as DONE) prior to reserving the next one. If the library import argument autoload is truthy (default), this is called automatically when the Robot Framework suite starts.

Get Work Item File

Get attached file from work item to disk. Returns the absolute path to the created file.

Arguments

Argument Type Default value Description
namenull
pathNone

Get attached file from work item to disk. Returns the absolute path to the created file.

param name:Name of attached file
param path:Destination path of file. If not given, current working directory is used.

Examples

*** Tasks ***
${path}=    Get work item file    input.xls
Open workbook    ${path}

Get Work Item Files

Get files attached to work item that match given pattern. Returns a list of absolute paths to the downloaded files.

Arguments

Argument Type Default value Description
patternnull
dirnameNone

Get files attached to work item that match given pattern. Returns a list of absolute paths to the downloaded files.

param pattern:Filename wildcard pattern
param dirname:Destination directory, if not given robot root is used

Examples

*** Tasks ***
${paths}=    Get work item files    customer_*.xlsx
FOR  ${path}  IN  @{paths}
    Handle customer file    ${path}
END

Get Work Item Payload

Get the full JSON payload for a work item.

NOTE: Most use cases should prefer higher-level keywords.

Examples

*** Tasks ***
${payload}=    Get work item payload
Log    Entire payload as dictionary: ${payload}

Get Work Item Variable

Return a single variable value from the work item, or default value if defined and key does not exist.

Arguments

Argument Type Default value Description
namenull
default

Return a single variable value from the work item, or default value if defined and key does not exist.

If key does not exist and default is not defined, raises KeyError.

param name:Name of variable
param default:Default value if key does not exist

Examples

*** Tasks ***
${username}=    Get work item variable    username    default=guest

Get Work Item Variables

Read all variables from the current work item and return their names and values as a dictionary.

Read all variables from the current work item and return their names and values as a dictionary.

Examples

*** Tasks ***
${variables}=    Get work item variables
Log    Username: ${variables}[username], Email: ${variables}[email]

List Work Item Files

List the names of files attached to the current work item.

Examples

*** Tasks ***
${names}=    List work item files
Log    Work item has files with names: ${names}

List Work Item Variables

List the variable names for the current work item.

Examples

*** Tasks ***
${variables}=    List work item variables
Log    Available variables in work item: ${variables}

Release Input Work Item

Release the lastly retrieved input work item and set its state.

Arguments

Argument Type Default value Description
stateStatenull
_auto_releaseboolFalse
exception_typeError, NoneNone
codestr, NoneNone
messagestr, NoneNone

This can be released with DONE or FAILED states. With the FAILED state, an additional exception can be sent to Control Room describing the problem that you encountered by specifying a type and optionally a code and/or message. After this has been called, no more output work items can be created unless a new input work item has been loaded again.

param state:The status on the last processed input work item
param exception_type:
 Error type (BUSINESS, APPLICATION). If this is not specified, then the cloud will assume UNSPECIFIED
param code:Optional error code identifying the exception for future filtering, grouping and custom retrying behaviour in the cloud
param message:Optional human-friendly error message supplying additional details regarding the sent exception

Examples

*** Tasks ***
Login into portal
    ${user} =     Get Work Item Variable    user
    Log     Logging in ${user}
    Release Input Work Item     FAILED      exception_type=BUSINESS   code=LOGIN_PORTAL_DOWN     message=Unable to login into the portal – not proceeding  # noqa

OR

*** Tasks ***
from RPA.Robocorp.WorkItems import State, WorkItems

library = WorkItems()

def process_and_set_state():
    library.get_input_work_item()
    library.release_input_work_item(State.DONE)
    print(library.current.state)  # would print "State.DONE"

process_and_set_state()

Remove Work Item File

Remove attached file from work item.

Arguments

Argument Type Default value Description
namenull
missing_okTrue
param name:Name of attached file
param missing_ok:
 Do not raise exception if file doesn't exist

NOTE: Files are not deleted before work item is saved

Examples

*** Tasks ***
Remove work item file    input.xls
Save work item

Remove Work Item Files

Removes files attached to work item that match the given pattern.

Arguments

Argument Type Default value Description
patternnull
missing_okTrue
param pattern:Filename wildcard pattern
param missing_ok:
 Do not raise exception if file doesn't exist

Examples

*** Tasks ***
Remove work item files    *.xlsx
Save work item

Save Work Item

Save the current data and files in the work item. If not saved, all changes are discarded when the library goes out of scope.

Save the current data and files in the work item. If not saved, all changes are discarded when the library goes out of scope.

Set Current Work Item

Set the currently active work item.

Arguments

Argument Type Default value Description
itemWorkItemnull

The current work item is used as the target by other keywords in this library.

Keywords Get input work item and Create output work item set the active work item automatically, and return the created instance.

With this keyword the active work item can be set manually.

Examples

*** Tasks ***
${input}=    Get input work item
${output}=   Create output work item
Set current work item    ${input}

Set Task Variables From Work Item

Convert all variables in the current work item to Robot Framework task variables.

Convert all variables in the current work item to Robot Framework task variables.

Examples

*** Tasks ***
# Work item has variable INPUT_URL
Set task variables from work item
Log    The variable is now available: ${INPUT_URL}

Set Work Item Payload

Set the full JSON payload for a work item.

Arguments

Argument Type Default value Description
payloadnull
param payload:Content of payload, must be JSON-serializable

NOTE: Most use cases should prefer higher-level keywords.

Examples

*** Tasks ***
${output}=    Create dictionary    url=example.com    username=Mark
Set work item payload    ${output}

Set Work Item Variable

Set a single variable value in the current work item.

Arguments

Argument Type Default value Description
namenull
valuenull
param name:Name of variable
param value:Value of variable

Examples

*** Tasks ***
Set work item variable    username    MarkyMark
Save work item

Set Work Item Variables

Set multiple variables in the current work item.

Arguments

Argument Type Default value Description
kwargsnull
param kwargs:Pairs of variable names and values

Examples

*** Tasks ***
Set work item variables    username=MarkyMark    email=mark@example.com
Save work item