Skip to main content
Version: 3.0.0

Config file (automatic mode)

Automatic mode reads a JSON config. Top-level schema:

  • configuration: list of server connections
  • loggingConfiguration (optional): console/file logging setup (see Logging)

Connection fields

Each entry under configuration[] supports these fields:

FieldTypeDefaultDescription
server_urlstringFull server URL (e.g. https://localhost:443/api/)
verifybooleantrueVerify TLS certificates
sessionTokenstringSession token (TestBench 4.x)
basicAuthstringBase64-encoded login:password
loginnamestringPlaintext login name
passwordstringPlaintext password
actionsarray[]List of actions to execute
thread_limitintegerMax concurrent actions per connection (null/omitted = unlimited)

Minimal example

{
"configuration": [
{
"server_url": "https://localhost:443/api/",
"verify": false,
"loginname": "tt-admin",
"password": "admin",
"actions": []
}
]
}

Actions

Each entry under actions[] has:

  • type: the action type string
  • parameters: action-specific payload

Available action types:

typeDescription
ExportXMLReportExport an XML execution package
ImportXMLExecutionResultsImport XML execution results
ExportJSONReportExport a JSON execution package
ImportJSONExecutionResultsImport JSON execution results
ExportCSVReportExport a CSV report
ExportServerLogsExport server logs
RequestJWTGenerate a JWT token

Action parameters reference

ExportXMLReport

{
"type": "ExportXMLReport",
"parameters": {
"outputPath": "report.zip",
"projectPath": ["My Project", "Version 1.0", "Cycle 1"],
"tovKey": "123456",
"cycleKey": "234567",
"report_config": {
"exportAttachments": true,
"exportDesignData": true,
"characterEncoding": "utf-16",
"suppressFilteredData": true,
"exportExpandedData": true,
"exportDescriptionFields": true,
"outputFormattedText": false,
"exportExecutionProtocols": false,
"filters": [],
"reportRootUID": "itb-TT-8161"
}
}
}
ParameterTypeDescription
outputPathstringOutput zip file path
projectPathstring[][project, version] or [project, version, cycle] (by name)
tovKeystringTest object version key (alternative to projectPath)
cycleKeystringTest cycle key
report_configobjectExport options (see below)

report_config fields:

FieldTypeDescription
exportAttachmentsbooleanInclude attachments
exportDesignDatabooleanInclude design data
characterEncodingstring"utf-8" or "utf-16"
suppressFilteredDatabooleanExclude filtered data
exportExpandedDatabooleanInclude expanded data
exportDescriptionFieldsbooleanInclude description fields
outputFormattedTextbooleanOutput formatted text
exportExecutionProtocolsbooleanInclude execution protocols
filtersarrayList of FilterInfo objects
reportRootUIDstringRoot UID for the report tree

ImportXMLExecutionResults

{
"type": "ImportXMLExecutionResults",
"parameters": {
"inputPath": "report.zip",
"projectPath": ["My Project", "Version 1.0", "Cycle 1"],
"importConfig": {
"fileName": "",
"reportRootUID": null,
"ignoreNonExecutedTestCases": true,
"defaultTester": null,
"checkPaths": true,
"filters": null,
"discardTesterInformation": true,
"useExistingDefect": true
}
}
}
ParameterTypeDescription
inputPathstringPath to the XML results zip file
projectPathstring[][project, version, cycle] (by name)
cycleKeystringTest cycle key (alternative to projectPath)
importConfigobjectImport options (see below)

importConfig fields:

FieldTypeDescription
fileNamestringFile name within the zip (usually left empty)
reportRootUIDstringReport root UID
ignoreNonExecutedTestCasesbooleanSkip non-executed test cases
defaultTesterstringDefault tester login name
checkPathsbooleanValidate paths during import
filtersarrayList of FilterInfo objects
discardTesterInformationbooleanDiscard tester information from the import
useExistingDefectbooleanReuse existing defects

ExportJSONReport

{
"type": "ExportJSONReport",
"parameters": {
"outputPath": "json-report.zip",
"projectPath": ["My Project", "Version 1.0", "Cycle 1"],
"projectKey": "111",
"tovKey": "222",
"cycleKey": "333",
"report_config": {
"treeRootUID": null,
"basedOnExecution": true,
"suppressFilteredData": true,
"suppressNotExecutable": true,
"suppressEmptyTestThemes": true,
"executionMode": "EXECUTE",
"filters": []
}
}
}
ParameterTypeDescription
outputPathstringOutput zip file path
projectPathstring[][project, version] or [project, version, cycle] (by name)
projectKeystringProject key (alternative to projectPath)
tovKeystringTest object version key
cycleKeystringTest cycle key
report_configobjectExport options (see below)

report_config fields:

FieldTypeDescription
treeRootUIDstringRoot UID for the tree
basedOnExecutionbooleanBase report on execution data
suppressFilteredDatabooleanExclude filtered data
suppressNotExecutablebooleanExclude non-executable items
suppressEmptyTestThemesbooleanExclude empty test themes
executionModestringOne of: EXECUTE, CONTINUE, VIEW, SIMULATE
filtersarrayList of FilterInfo objects

ImportJSONExecutionResults

{
"type": "ImportJSONExecutionResults",
"parameters": {
"inputPath": "json-report.zip",
"projectKey": "111",
"cycleKey": "333",
"importConfig": {
"fileName": "",
"treeRootUID": null,
"useExistingDefect": true,
"ignoreNonExecutedTestCases": true,
"checkPaths": true,
"filters": null,
"discardTesterInformation": true,
"defaultTester": null
}
}
}
ParameterTypeDescription
inputPathstringPath to the JSON results zip file
projectKeystringProject key
cycleKeystringTest cycle key
projectPathstring[][project, version, cycle] (by name, alternative to keys)
importConfigobjectImport options (same fields as XML import, plus treeRootUID instead of reportRootUID)

ExportCSVReport

{
"type": "ExportCSVReport",
"parameters": {
"outputPath": "csv_report.zip",
"projectKey": "111",
"report_config": {
"scopes": [
{
"tovKey": { "serial": "222" },
"reportRootUID": null,
"cycleKeys": [{ "serial": "333" }]
}
],
"showUserFullName": true,
"characterEncoding": "utf-8",
"fields": ["spec.name", "spec.status", "exec.verdict"]
}
}
}
ParameterTypeDescription
outputPathstringOutput zip file path
projectKeystringProject key
report_configobjectCSV report options (see below)

report_config fields:

FieldTypeDescription
scopesarrayList of report scopes (TOV key + optional cycle keys)
showUserFullNamebooleanShow full user names in the CSV
characterEncodingstring"utf-8", "utf-16", or "windows-1252"
fieldsstring[]CSV fields to include (e.g. spec.name, exec.verdict, aut.status)

ExportServerLogs

{
"type": "ExportServerLogs",
"parameters": {
"outputPath": "server_logs.zip"
}
}
ParameterTypeDescription
outputPathstringOutput zip file path

RequestJWT

{
"type": "RequestJWT",
"parameters": {
"projectKey": "111",
"tovKey": "222",
"cycleKey": "333",
"permissions": ["ReadProjectHierarchy", "ImportExecutionResults"],
"subject": "my-service",
"expiresAfterSeconds": 3600
}
}
ParameterTypeDescription
projectKeystringProject key
tovKeystringTest object version key
cycleKeystringTest cycle key
permissionsstring[]List of permission names
subjectstringSubject claim for the token
expiresAfterSecondsintegerToken expiry in seconds

thread_limit

thread_limit limits the number of concurrent actions per connection.

  • omitted / null: no limit
  • 0 or negative values are treated as unlimited

Full example with multiple actions

{
"configuration": [
{
"server_url": "https://testbench.example.com:443/api/",
"verify": true,
"basicAuth": "dHQtYWRtaW46YWRtaW4=",
"thread_limit": 2,
"actions": [
{
"type": "ExportXMLReport",
"parameters": {
"outputPath": "export1.zip",
"tovKey": "123456",
"cycleKey": "234567",
"report_config": {
"exportAttachments": true,
"exportDesignData": true,
"characterEncoding": "utf-16",
"suppressFilteredData": true,
"exportExpandedData": true,
"exportDescriptionFields": true,
"outputFormattedText": false,
"exportExecutionProtocols": false,
"filters": [],
"reportRootUID": null
}
}
},
{
"type": "ImportXMLExecutionResults",
"parameters": {
"inputPath": "results.zip",
"importConfig": {
"fileName": "",
"reportRootUID": null,
"ignoreNonExecutedTestCases": true,
"defaultTester": null,
"checkPaths": true,
"filters": null,
"discardTesterInformation": true,
"useExistingDefect": true
}
}
}
]
}
],
"loggingConfiguration": {
"console": { "logLevel": "INFO" },
"file": { "logLevel": "DEBUG", "fileName": "run.log" }
}
}