TestRail integration plugin by Railflow (https://railflow.io) allows users easily integrate their Harness pipelines with TestRail and automatically create Test Suites, Cases, Test Plans, Test Runs and Test Results, etc.. in TestRail.
Example
kind: pipeline
type: docker
name: default
steps:
- name: railflow
image: railflow/railflow:latest
settings:
license_key: XXXXX-XXXXX-XXXXX-XXXXX
url: https://testrail
username: user@company.com
password: s3cret
project: My Project
test_path: Railflow/Harness
format: JUnit
report_files:
- target/surefire-reports/*.xml
search_mode: path
upload_mode: 1
Properties
license_key
stringrequiredRailflow license key. Either license key or license file. It can be obtained from https://railflow.io.
Secret recommendedDefault: none
license_file
stringrequiredLicense file path or URL. Either license key or license file. It can be obtained from https://railflow.io.
Default: none
url
stringrequiredTestRail instance URL.
Default: none
username
stringrequiredTestRail username.
Secret recommendedDefault: none
password
stringrequiredTestRail password or API Key.
Secret recommendedDefault: none
project
stringrequiredTestRail project name.
Default: none
test_path
stringrequiredTestRail test cases path.
Default: none
format
stringrequiredReport format: JUnit, JUnit-Steps, TestNg, TestNg-Steps, Cucumber, NUnit, NUnit-SpecFlow, Allure, Robot, TRX, xUnit, PyTest-Railflow, Playwright (case insensitive)
Default: none
report_files
arrayrequiredThe file path(s) to the test report file(s) generated during the build. Ant-style patterns such as `**/surefire-reports/*.xml` can be used.
Default: none
search_mode
stringrequiredSpecifies the test case lookup algorithm. Allowed values are `name` and `path`. `name` - search for test case matching the name within the entire test suite. `path` - search for test case matching the name within the specified `test_path`.
Default: none
proxy
stringoptionalHTTP or SOCKS proxy configuration.
Default: none
timeout
numberoptionalUpload timeout (seconds).
Default: none
test_run
stringoptionalTestRail test run name.
Default: none
test_plan
stringoptionalTestRail test plan name.
Default: none
milestone_path
stringoptionalTestRail milestone path.
Default: none
case_fields
arrayoptionalTestRail test case custom fields. The format is `[Field label]=[value]` pairs.
Default: none
result_fields
arrayoptionalTestRail test result custom fields. The format is `[Field label]=[value]` pairs.
Default: none
assign
arrayoptionalSmart Test Failure Assignment. Comma-separated list of TestRail users (email IDs). Railflow will assign failures based on a round robin algorithm.
Default: none
assign_file
stringoptionalSmart Test Failure Assignment. File path containing list of TestRail users (email IDs). Each user email ID should go with the new line.
Default: none
config_names
arrayoptionalTestRail test plan configuration options.<br/>Configuration format is: [config_group_name]/[config_name].
Default: none
close_run
booleanoptionalIf Railflow should close the corresponding run after uploading test results.
Default: false
close_plan
booleanoptionalIf Railflow should close the corresponding plan after uploading test results.
Default: false
disable_grouping
booleanoptionalIf Railflow should ignore report structure and just upload all tests into a folder which is set by test-path parameter.
Default: false
template_name
stringoptionalThe name of a template to use in TestRail. If it is not set, 'Test Case (Steps)' or the default one will be used.
Default: none
case_type
stringoptionalThe name of a type for cases.
Default: none
case_priority
stringoptionalThe name of a priority for cases.
Default: none
thread_number
numberoptionalThe number of concurrent threads for exporting data. Default is 4.
Default: 4
upload_mode
numberoptionalUpload mode. Available values are: 0 - create new test cases and do not overwrite existing ones; 1 - create new cases and overwrite existing ones; 2 - do not create new cases and overwrite existing ones; 3 - do not create new cases and do not overwrite existing ones
Default: 0
case_search_field
stringoptionalThe name of the case field in TestRail which will be using for searching for existing test cases instead of test case title.
Default: none
disable_stats
booleanoptionalIf Railflow should disable collecting usage and error logs.
Default: false
fully_qualified_test_name
booleanoptionalIf Railflow should allow exporting test cases using qualified name as the case name.
Default: false
untested_status
stringoptionalThe name of the status to use in TestRail for untested/skipped tests.
Default: none
attachment_max_size
stringoptionalMaximum size of an attachment. Can be set in Gb, Mb, Kb or b. If the unit is not provided considered as Mb. E.g. 1Gb, 2, 20Kb, 3Mb.
Default: none
attachment_type_whitelist
arrayoptionalThe list of file extensions which are allowed to upload.
Default: none
attachment_type_blacklist
arrayoptionalThe list of file extensions which are not allowed to upload.
Default: none
no_run
booleanoptionalDo not create or update Test Run in TestRail.
Default: false
tags_field_name
stringoptionalThe name of a test case field which will be holding tags from the report file if any. E.g. `Cucumber Tags`
Default: none