Other versions are listed on the published site
Basic Command Line Interface (CLI)
This page explains the essential CLI commands used to create databases, process output XML files, and generate the HTML dashboard. It includes clear examples and describes exactly what each command does.
Display Version and Help
Display version information
bash
robotdashboard -v
robotdashboard --version- Optional:
-vor--versiondisplays the current installed version of RobotFramework Dashboard.
Display CLI help
bash
robotdashboard -h
robotdashboard --help- Optional:
-hor--helpprovides detailed information about all CLI options.
Output Files
Add one or multiple output XML files
bash
robotdashboard -o output1.xml -o output2.xml -o output3.xml- Optional: Each
-oor--outputpathoption specifies a single output XML file. - The tool will read the files, upload the results to the database, and optionally generate a dashboard HTML file.
- Tags can be added to group or categorize runs.
- See Advanced CLI & Examples for more information on Tags!
Add all output XMLs from a folder (including subfolders)
bash
robotdashboard -f ./reports
robotdashboard -f ../../some_folder/sub_folder/logs
robotdashboard -f C:/nightly_runs:tag1:tag2:tag3 -f some/other/path/results- Optional:
-for--outputfolderpathspecifies a folder; the CLI will process all*output*.xmlfiles it finds. - Tags can be added to group or categorize runs.
- See Advanced CLI & Examples for more information on Tags!
Project Version
You can pass version associated with a test run.
For example, if you ran tests for your software/product version 1.2.1
bash
robotdashboard -o output.xml --projectversion=1.2.1
robotdashboard -f ./results --projectversion=1.2.1If you want to supply versions for each output, use:
bash
robotdashboard -o output.xml:version_1.2.1 -o output2.xml:version_2.3.4
robotdashboard -f ./results:version_1.1 ./results2:version_2.3.4Version Constraints
--projectversionandversion_tags are mutually exclusive — using both will produce an error.- Each output file can have at most one
version_tag. Multipleversion_tags on the same output will produce an error.
Added in RobotDashboard v1.3.0
version_ tag support added in v1.4.0
Custom Filters
You can attach arbitrary key=value metadata to runs as filterable dimensions.
bash
robotdashboard -o output.xml --customfilters "ProductVersion=1.1:Environment=staging"
robotdashboard -f ./results --customfilters "ComponentA=2.0:Environment=prod"- Optional:
--customfiltersspecifies one or more custom filter dimensions, as a colon-separatedkey=valuestring. - Each unique key creates its own filter dropdown in the Dashboard's Filters modal.
- See Advanced CLI & Examples for more details and the Filtering page for how custom filter dropdowns work.
Added in RobotDashboard v1.7.0
Timezone
The dashboard stores a timezone offset alongside run_start timestamps so the dashboard can display times correctly for your local timezone.
By default the offset is auto-detected from the machine running robotdashboard. Override it when your output.xml files were produced in a different timezone:
bash
robotdashboard -o output.xml -z +02:00
robotdashboard -f ./results --timezone=+02:00
robotdashboard -o output.xml --timezone=-05:00
robotdashboard -o output.xml -z +00:00- Optional:
-zor--timezonespecifies the UTC offset of the timestamps inside the output XML files. - Default: auto-detected from the local machine timezone.
- Format:
+HH:MMor-HH:MM(e.g.+02:00,-05:00,+00:00). - Use the
--timezone=form (with=) for negative offsets to avoid the leading-being parsed as a flag. - The offset is appended to the
run_startvalue stored in the database (e.g.2025-03-13 00:21:34.123456+02:00).
Timezone and existing runs
Runs processed before this feature was introduced have no timezone offset stored in their run_start. This does not break anything — those runs display exactly as they did before and are unaffected by both timezone settings in the dashboard.
You only need to re-add those output.xml files (with the correct -z/--timezone flag) if you want the Convert Timestamps to Local Timezone feature to work for them. If you never intend to use timezone conversion, no action is required. See Upgrading & Database Migration and Settings – Display Timezone Offsets & Conversion for details.
Added in RobotDashboard v1.8.0
Database
Custom database path
bash
robotdashboard -d result_data/robot_result_database.db- Optional:
-dor--databasepathspecifies a custom database file to store results. - Default: database path is the current folder with robot_results.db.
Remove runs from the database
bash
robotdashboard -r index=0,index=1:4;9,index=10
robotdashboard --removeruns 'run_start=2024-07-30 15:27:20.184407,index=20'
robotdashboard -r alias=some_cool_alias,tag=prod,tag=dev -r alias=alias12345
robotdashboard -r limit=10
robotdashboard -r limit=10,tag=nightly # keep 10 newest 'nightly' runs per project, leave others
robotdashboard -r limit=10,tag=nightly,tag=prod # scope to multiple tags
robotdashboard -r age=10d # remove runs OLDER than 10 days. (y)ear/(d)ay/(h)our/(m)inute/(s)econd supported
robotdashboard -r age=-10d # remove runs YOUNGER than 10 days (note the leading minus)
# Log data of removed runs in jsonl
robotdashboard -r limit=10 --logremoved "/myLogDir/removedRuns.jsonl"
robotdashboard -r limit=10 --logremoved "run:suite:/myLogDir/removedRuns.jsonl"
robotdashboard -r limit=10 --logremoved all
robotdashboard -r limit=10 --logremoved run:keyword- Optional:
-ror--removerunsspecifies one or more runs to remove. - Multiple values are separated by commas (,).
- Must specify data types: index, run_start, alias, tag or limit.
- Index ranges use
:for ranges and;for lists. - Quotation marks are required when spaces exist in identifiers.
- With limit=10 only the 10 most recent runs per project will be kept, all others will be removed. The limit must be at least 1.
- A project is a run name and every
project_run tag, the same grouping the dashboard overview page uses. A run that belongs to more than one project is kept as long as it is one of the 10 most recent runs of at least one of them, so a project that runs less often never loses its history to a project that runs more often. - With limit=10,tag=nightly only the 10 most recent runs per project carrying that tag are kept; older tagged runs are removed and runs without the tag are left untouched. Add more
tag=values to scope to multiple tags. Onlylimitsupports this tag scoping —tagandagecombined just run as two independent operations. - With age=10d only runs older than 10 days will be removed
- With age=-10d (leading minus) only runs younger than 10 days will be removed
- Supported age units: (y)ear, (d)ay, (h)our, (m)inute, (s)econd — e.g.
age=12h,age=-30m - Optional:
--logremovedlogs run data to a.jsonlfile before removal. - Format:
[types:]pathwhere types are colon-separated fromrun,suite,test,keyword,all. - If no types are specified, defaults to
all(runs, suites, tests and keywords). - If no path is provided, defaults to
robot_removed_runs.jsonlin the current directory. - Each removed run is appended as one JSON line containing the selected data types.
Use a custom database class
bash
robotdashboard -c ./path/to/custom_class.py
robotdashboard --databaseclass mysql.py- Optional:
-cor--databaseclassspecifies a custom database class implementation. - By default, Sqlite3 is used. See Custom Database Class for more information.
Disable automatic database vacuuming
bash
robotdashboard --novacuum
robotdashboard --novacuum True- Optional:
--novacuumdisables automatic database vacuuming. - Default: False. Using
--novacuumwith no value sets it to True.
Dashboard
Generate dashboard and list runs
bash
robotdashboard -g false
robotdashboard -l false
robotdashboard -l false -g false- Optional:
-gor--generatedashboarddisables generating the HTML dashboard. - Default: true, valid values are True, TRUE, T (similar for False).
- Optional:
-lor--listrunsdisables listing runs in the console. - Default: true, valid values are True, TRUE, T (similar for False).
Custom dashboard HTML file name
bash
robotdashboard -n results/result_robot_dashboard.html- Optional:
-nor--namedashboardspecifies the file name and path for the generated dashboard HTML. - Default: dashboard name is robot_dashboard_YYYYMMDD-HHMMSS.html.
Set a custom HTML title
bash
robotdashboard -t "My Cool Title"- Optional:
-tor--dashboardtitlesets a custom HTML title for the dashboard. - Default: title is Robot Framework Dashboard - YYYY-MM-DD HH:MM:SS.
- The title also appears in the navigation bar of the dashboard, overriding any Custom Title value set in the Theme settings.
- It is also possible to combine all sections into a single unified view, see Settings - Defaults Tab, for the details
- The unified title will be the same as the
-t, --dashboardtitleargument if provided, otherwise it defaults to "Dashboard Statistics"
Control number of runs displayed by default
bash
robotdashboard -q 7
robotdashboard --quantity 50- Optional:
-qor--quantitysets the default number of runs per project shown in the dashboard on first load. - A project is a run name and every
project_run tag, see the Amount filter. - Default: value in the dashboard is 20. This can be changed in the filters.
Use local JS and CSS dependencies
bash
robotdashboard --offlinedependencies
robotdashboard --offlinedependencies True- Optional:
--offlinedependenciesspecifies to use locally downloaded js/css files and embed them directly into the dashboard. - By default, urls to the actual JS and CSS CDN are used.
- See Advanced CLI & Examples for more information.
Log Linking
Enable Log Linking in the dashboard
bash
robotdashboard -u true
robotdashboard --uselogs True- Optional:
-uor--uselogsenables clickable graphs in the dashboard that open corresponding log.html files. - Requirements: log files must be in the same folder as their respective output.xml files, with
outputreplaced bylogand.xmlreplaced by.html. - See Log Linking for the full guide on file naming, local vs. server usage, and remote log uploads.
Provide a custom URL for log files
bash
robotdashboard -u true -o output.xml --logurl https://ci.example.com/build/42/log.html
robotdashboard -u true -f ./results --logurl "https://ci.example.com/build/42/log_{run_alias}.html"- Optional:
--logurloverrides the default log path with a custom URL stored in the database for the processed run(s). - Useful in CI/CD pipelines where logs are published to a remote server at a unique URL per build.
- Supports a
{run_alias}placeholder that is replaced per file when processing multiple outputs. - If
--logurlis provided without{run_alias}and multiple outputs are being processed, the command will produce an error. - See Log Linking — CI Pipelines and Hosted Logs for full details and examples.
Dashboard Configuration
Use a JSON dashboard configuration file to set default settings
bash
robotdashboard -j ./path/to/config.json
robotdashboard --jsonconfig default_settings.json- Optional:
-jor--jsonconfigsets a JSON dashboard configuration file used on first load. - See Advanced CLI & Examples for more information on customized loading behaviour!
Force the JSON config even if local storage exists
bash
robotdashboard -j ./path/to/config.json --forcejsonconfig
robotdashboard --jsonconfig default_settings.json --forcejsonconfig- Optional:
--forcejsonconfigforces the use of the JSON dashboard configuration file even if local storage exists. - See Advanced CLI & Examples for more information on customized loading behaviour!
Add messages config for bundling test messages
bash
robotdashboard -m message_config.txt
robotdashboard --messageconfig path/to/message_config.txt- Optional:
-mor--messageconfigspecifies a file containing custom messages with placeholders like${x}or${y}. - See Advanced CLI & Examples for more details regarding the message config!
Server
Start the dashboard server
bash
robotdashboard --server
robotdashboard --server default
robotdashboard -s 0.0.0.0:8543- Optional:
-sor--serverstarts the dashboard web server. - See Dashboard Server for advanced usage.
- Docker users can bind to a specific host and port as shown.
Disable automatic dashboard regeneration on upload/delete
bash
robotdashboard --server --noautoupdate
robotdashboard --server --noautoupdate True- Optional:
--noautoupdatedisables automatic dashboard HTML regeneration after every upload or delete via the server API. - Default: False (dashboard is regenerated automatically on every change).
- When enabled, two Refresh buttons appear in the admin page navbar: Refresh Dashboard and Refresh Admin Page Tables.
- This is useful when working with large datasets or slow database queries, where automatic regeneration would cause long API response times.
- Only relevant when used together with
--server. - See Dashboard Server for more details.
Enable HTTPS
bash
robotdashboard --server --ssl-certfile cert.pem --ssl-keyfile key.pem
robotdashboard -s 0.0.0.0:8543 --ssl-certfile /path/to/cert.pem --ssl-keyfile /path/to/key.pem- Optional:
--ssl-certfileand--ssl-keyfileenable HTTPS by providing paths to an SSL certificate and its matching private key. - Both flags must be provided together; neither has any effect without the other.
- Only relevant when used together with
--server. - See Dashboard Server for more details.
Deprecated options
- Exclude milliseconds:
-e False(moved to dashboard Settings) - Aliases:
-a True(moved to dashboard Settings)
For more advanced usage, see Advanced CLI & Examples, the Dashboard Server and Custom Database Class pages.