Robot YAML configuration format
Robot YAML format
For a robot.yaml
to be valid, it has only two mandatory parts:
- At least one task defined, and that must have either
command
,shell
orrobotTaskName
defined. - Artifacts output path must be defined.
tasks:
# You can define 1..n tasks to a robot.
# Naming: Think of actions or verbs this robot can perform.
# Task names given here are visible in Control Room.
# The task supports three ways of defining the action performed:
# `command`, `shell` or `robotTaskName`.
# Below are examples for each.
User specified task name:
# 'command': Separates the arguments to a list
# that takes care of arguments with spaces.
command:
- python
- -m
- robot
- --report
- NONE
- --outputdir
- output
- --logtitle
- Task log
- tasks.robot
User specified task name 2:
# 'shell': You have to quote items in the command with spaces using "
shell: python -m robot --report NONE --outputdir output --logtitle "Task log" tasks.robot
User specified task name 3:
# 'robotTaskName': Assumes a task with the same name exists in a .robot file.
robotTaskName: Calculate and log the result
condaConfigFile:
conda.yaml
# A relative path to your environment config file.
# Defining the conda.yaml file is optional.
# E.g., if the running environment is preset and you don't need any setup.
artifactsDir:
output
# A relative path to a folder where the artifacts are stored.
# The contents of this folder will be sent to Control Room.
PATH:
# The paths listed here are added to the PATH environment variable
# for the duration of the execution.
- .
PYTHONPATH:
# The paths listed here are added to the PYTHONPATH environment variable
# for the duration of the execution.
- .
ignoreFiles:
# A relative path to the .gitignore file that controls what is placed in the
# robot zip file. This can be used to control what items are not packaged
# when pushing the robot to Control Room. Defining this is optional.
- .gitignore
Note that with the robot.yaml
you can define:
- A large robot with multiple Python tasks or tests and a complex environment.
- A simple Python robot with some environment requirements.
- Just a simple executor that runs a known script in a preset environment.
...and everything in between, examples below.
Examples
A simple single task robot example
An example where you only have a single Robot Framework file to execute with minimal folder structure and no optional fields:
tasks:
Read the Emails:
shell: python -m robot --report NONE --outputdir output --logtitle "Task log" tasks.robot
condaConfigFile: conda.yaml
artifactsDir: output
PATH:
- .
PYTHONPATH:
- .
Full example with multiple tasks
tasks:
Read Input Forms:
robotTaskName: Read Inputs
Create PDFs:
robotTaskName: Generate PDF
Email Customers:
robotTaskName: Send Emails
condaConfigFile: conda.yaml
artifactsDir: output
ignoreFiles:
- .gitignore
PATH:
- .
- bin
PYTHONPATH:
- .
- variables
- libraries
- resources
Minimal example
An example, where you only have scripts to execute, you don't need Robot Framework nor any environment setup. In this case, your robot can be just a robot.yaml
file and nothing else.
tasks:
Trigger start script:
shell: C:\\my-known-location\\my-trigger-script.bat
artifactsDir: output
PATH:
- .
Last edit: June 28, 2021