-
Notifications
You must be signed in to change notification settings - Fork 51
Description
Description
We are having an issue where we are trying to upload JUnit XML results to existing test cases in TestRail. (We do not want to automatically create new test cases). We are getting the following error in trcli from the following API call:
{
"error": "Field :results contains one or more invalid results (case C188 unknown or not part of the test run)"
}
Furthermore, this deletes all test cases from the test run.
However, when we remake the test run and just execute the add_results_for_cases command in Postman, it works fine. But then, in Postman, if we execute update_run_in_plan_entry before the add_results_for_cases with the same payload as it would be executed in trcli, we see the deletion issue.
https://testrail.:8001/index.php?/api/v2/update_run_in_plan_entry/59
(normal headers and basic auth)
Request Body:
{"suite_id": 1, "description": "None", "case_ids": [1, 2, 549, 180, 188, 191], "refs": "None"}
Response:
{
"id": 55,
"name": "GL Int Test",
"refs": null,
"description": null,
"milestone_id": null,
"assignedto_id": null,
"is_completed": false,
"completed_on": null,
"passed_count": 0,
"blocked_count": 0,
"untested_count": 6,
"retest_count": 0,
"failed_count": 0,
"custom_status1_count": 0,
"custom_status2_count": 0,
"custom_status3_count": 0,
"custom_status4_count": 0,
"custom_status5_count": 0,
"custom_status6_count": 0,
"custom_status7_count": 0,
"project_id": 1,
"created_on": 1763484807,
"start_on": null,
"due_on": null,
"created_by": 2,
"url": "https://testrail.<redacted>:8001/index.php?/plans/view/55",
"entries": [
{
"id": "12949cb5-befb-4a33-89f9-192fdfb74ec3",
"suite_id": 1,
"name": "Test Run Int",
"refs": null,
"description": null,
"include_all": false,
"dataset_id": null,
"runs": [
{
"id": 58,
"suite_id": 1,
"name": "Test Run Int",
"description": null,
"milestone_id": null,
"assignedto_id": null,
"include_all": false,
"is_completed": false,
"completed_on": null,
"passed_count": 0,
"blocked_count": 0,
"untested_count": 6,
"retest_count": 0,
"failed_count": 0,
"custom_status1_count": 0,
"custom_status2_count": 0,
"custom_status3_count": 0,
"custom_status4_count": 0,
"custom_status5_count": 0,
"custom_status6_count": 0,
"custom_status7_count": 0,
"project_id": 1,
"plan_id": 55,
"entry_index": 1,
"entry_id": "12949cb5-befb-4a33-89f9-192fdfb74ec3",
"config": "Chrome, Linux",
"config_ids": [
6,
9
],
"created_on": 1763485465,
"refs": null,
"created_by": 2,
"dataset_id": null,
"start_on": null,
"due_on": null,
"url": "https://testrail.<redacted>:8001/index.php?/runs/view/58"
},
{
"id": 59,
"suite_id": 1,
"name": "Test Run Int",
"description": "None",
"milestone_id": null,
"assignedto_id": null,
"include_all": false,
"is_completed": false,
"completed_on": null,
"passed_count": 0,
"blocked_count": 0,
"untested_count": 0,
"retest_count": 0,
"failed_count": 0,
"custom_status1_count": 0,
"custom_status2_count": 0,
"custom_status3_count": 0,
"custom_status4_count": 0,
"custom_status5_count": 0,
"custom_status6_count": 0,
"custom_status7_count": 0,
"project_id": 1,
"plan_id": 55,
"entry_index": 1,
"entry_id": "12949cb5-befb-4a33-89f9-192fdfb74ec3",
"config": "Firefox, Linux",
"config_ids": [
5,
9
],
"created_on": 1763485465,
"refs": "None",
"created_by": 2,
"dataset_id": null,
"start_on": null,
"due_on": null,
"url": "https://testrail.<redacted>:8001/index.php?/runs/view/59"
}
]
}
]
}
Notice untested count is 0, the cases are already deleted
Steps to reproduce
- Execute update_run_in_plan_entry API call with the cases that already exist in the run
Expected result
- No change to the test run
Actual result
- Cases are deleted from the test run
Severity
S1 Critical — API down or data loss
Reproducibility
Always (100%)
Language and runtime versions
Python 3.13
Framework and library versions
N/A
CI provider (if applicable)
GitLab CI
OS and architecture
Docker
Provide the command(s) used
trcli
--verbose
--insecure
--no
--host "https://testrail.<redacted>:8001/"
--project "${TESTRAIL_PROJECT_NAME}"
--project-id "${TESTRAIL_PROJECT_ID}"
--username "<redacted>"
--password "<redacted>"
parse_junit
--run-id "${TESTRAIL_RUN_ID}"
--file "results.xml"
--case-matcher "name"Affected TestRail version
9.4+
Affected CLI version
1.12
Logs and diagnostics
TestRail CLI v1.12.4
Copyright 2025 Gurock Software GmbH - www.gurock.com
Parser Results Execution Parameters
> Report file: results.xml
> Config file: None
> TestRail instance: https://testrail.<redacted>:8001/ (user: dsosvc@<redacted>)
> Project: GuineaPigProject
> Run title: None
> Update run: 59
> Add to milestone: No
> Auto-assign failures: No
> Auto-create entities: False
Parsing JUnit report.
Processing JUnit suite - My Test Suite
Processed 2 test cases in section MyFeatureTests.
Checking project.
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_projects
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 0, 'size': 0, '_links': {'next': '/api/v2/get_projects&limit=0&offset=0', 'prev': None}, 'projects': [{'id': 1, 'name': 'GuineaPigProject', 'announcement': None, 'show_announcement': False, 'is_completed': False, 'completed_on': None, 'suite_mode': 1, 'default_role_id': None, 'case_statuses_enabled': False, 'url': 'https://testrail.<redacted>:8001/index.php?/projects/overview/1', 'users': [], 'groups': []}]}
****
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_projects&limit=250&offset=0
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 250, 'size': 3, '_links': {'next': None, 'prev': None}, 'projects': [{'id': 1, 'name': 'GuineaPigProject', 'announcement': None, 'show_announcement': False, 'is_completed': False, 'completed_on': None, 'suite_mode': 1, 'default_role_id': None, 'case_statuses_enabled': False, 'url': 'https://testrail.<redacted>:8001/index.php?/projects/overview/1', 'users': [], 'groups': []}, {'id': 2, 'name': 'MAAS', 'announcement': None, 'show_announcement': False, 'is_completed': False, 'completed_on': None, 'suite_mode': 1, 'default_role_id': None, 'case_statuses_enabled': False, 'url': 'https://testrail.<redacted>:8001/index.php?/projects/overview/2', 'users': [], 'groups': []}, {'id': 3, 'name': 'Microservices', 'announcement': None, 'show_announcement': False, 'is_completed': False, 'completed_on': None, 'suite_mode': 1, 'default_role_id': None, 'case_statuses_enabled': False, 'url': 'https://testrail.<redacted>:8001/index.php?/projects/overview/3', 'users': [], 'groups': []}]}
****
Done.
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_suites/1
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 0, 'size': 0, '_links': {'next': '/api/v2/get_suites/1&limit=0&offset=0', 'prev': None}, 'suites': [{'id': 1, 'name': 'Master', 'description': None, 'project_id': 1, 'is_master': True, 'is_baseline': False, 'is_completed': False, 'completed_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/suites/view/1'}]}
****
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_suites/1&limit=250&offset=0
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 250, 'size': 1, '_links': {'next': None, 'prev': None}, 'suites': [{'id': 1, 'name': 'Master', 'description': None, 'project_id': 1, 'is_master': True, 'is_baseline': False, 'is_completed': False, 'completed_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/suites/view/1'}]}
****
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_cases/1&suite_id=1
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 0, 'size': 6, '_links': {'next': None, 'prev': None}, 'cases': [{'id': 1, 'title': 'First Test Case', 'section_id': 1, 'template_id': 1, 'type_id': 7, 'priority_id': 2, 'milestone_id': None, 'refs': 'FS-1234, FS-1968', 'created_by': 1, 'created_on': 1721875255, 'updated_by': 2, 'updated_on': 1763058463, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 1, 'is_deleted': 0, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '8/1/2024', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': 'Be Awesome', 'custom_steps': 'Do Something\r\nDo Something Else', 'custom_testrail_bdd_scenario': None, 'custom_expected': 'Something is Done\r\nSomething Else is Done', 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}, {'id': 2, 'title': 'Second Test Case', 'section_id': 4, 'template_id': 2, 'type_id': 7, 'priority_id': 2, 'milestone_id': None, 'refs': 'FS-1234', 'created_by': 1, 'created_on': 1721876481, 'updated_by': 2, 'updated_on': 1763058484, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 1, 'is_deleted': 0, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': [{'content': 'Step 1', 'expected': 'Result 1', 'additional_info': '', 'refs': ''}, {'content': 'Step 2', 'expected': 'Result 2', 'additional_info': '', 'refs': ''}], 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}, {'id': 180, 'title': 'Capture Mux Test', 'section_id': 4, 'template_id': 4, 'type_id': 6, 'priority_id': 2, 'milestone_id': None, 'refs': 'FS-2206', 'created_by': 12, 'created_on': 1726789264, 'updated_by': 2, 'updated_on': 1763058504, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 2, 'is_deleted': 0, 'case_assignedto_id': 12, 'custom_created_by': 12, 'custom_created_date': '9/19/2024', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': '[{"content":"@FS2206 @regression @MuxType\\nFeature: Additional Capture API tests\\n \\n As a tester I want to test Mux value\\n\\n Background: \\n Given the api URI\\n\\n # Mux = None\\n Scenario Outline: Verify a Capture Definition is created with MuxType=None\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"None\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199.json | \\/captures\\/createCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=None is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=None is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=None\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n # MuxType = 0104\\n Scenario Outline: Verify a Capture Definition is updated with MuxType=0104\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"0104\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199UpdateMux0104.json | \\/captures\\/updateCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0104 is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0104 is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=0104\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n # MuxType = 0601\\n Scenario Outline: Verify a Capture Definition is updated with MuxType=0601\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"0601\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199UpdateMux0601.json | \\/captures\\/updateCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0601 is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0601 is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=0601\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n Scenario Outline: Delete the Capture with MuxType=0601\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/delete | 204 |\\n"}]', 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}, {'id': 188, 'title': 'Test to add .feature file', 'section_id': 4, 'template_id': 1, 'type_id': 7, 'priority_id': 2, 'milestone_id': None, 'refs': None, 'created_by': 12, 'created_on': 1726871763, 'updated_by': 2, 'updated_on': 1763058518, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 3, 'is_deleted': 0, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}, {'id': 191, 'title': 'Additional Capture API tests', 'section_id': 4, 'template_id': 4, 'type_id': 7, 'priority_id': 2, 'milestone_id': None, 'refs': 'FS2206, regression, MuxType', 'created_by': 12, 'created_on': 1726872666, 'updated_by': 2, 'updated_on': 1763058552, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 4, 'is_deleted': 0, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': '\r\n\tAs a tester I want to test Mux value\r\n\t', 'custom_steps': None, 'custom_testrail_bdd_scenario': '[{"content":"\\tBackground: \\n\\tGiven the api URI"},{"content":"\\tScenario Outline: Verify a Capture Definition is created with MuxType=None\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"None\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199.json | \\/captures\\/createCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=None is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=None is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=None\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Verify a Capture Definition is updated with MuxType=0104\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"0104\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199UpdateMux0104.json | \\/captures\\/updateCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0104 is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0104 is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=0104\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Verify a Capture Definition is updated with MuxType=0601\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"0601\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199UpdateMux0601.json | \\/captures\\/updateCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0601 is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0601 is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=0601\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Delete the Capture with MuxType=0601\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/delete | 204 |"}]', 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}, {'id': 549, 'title': 'GitLab Integration Test', 'section_id': 233, 'template_id': 1, 'type_id': 11, 'priority_id': 2, 'milestone_id': None, 'refs': None, 'created_by': 2, 'created_on': 1761240573, 'updated_by': 2, 'updated_on': 1763488159, 'estimate': None, 'estimate_forecast': None, 'suite_id': 1, 'display_order': 1, 'is_deleted': 0, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '10/23/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'comments': [], 'labels': []}]}
****
Updating test run.
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_run/59
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'id': 59, 'suite_id': 1, 'name': 'Test Run Int', 'description': None, 'milestone_id': None, 'assignedto_id': None, 'include_all': True, 'is_completed': False, 'completed_on': None, 'config': 'Firefox, Linux', 'config_ids': [5, 9], 'passed_count': 1, 'blocked_count': 0, 'untested_count': 4, 'retest_count': 0, 'failed_count': 1, 'custom_status1_count': 0, 'custom_status2_count': 0, 'custom_status3_count': 0, 'custom_status4_count': 0, 'custom_status5_count': 0, 'custom_status6_count': 0, 'custom_status7_count': 0, 'project_id': 1, 'plan_id': 55, 'created_on': 1763485465, 'updated_on': 1763488041, 'refs': None, 'dataset_id': None, 'created_by': 2, 'start_on': None, 'due_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/runs/view/59'}
****
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_tests/59
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'offset': 0, 'limit': 0, 'size': 6, '_links': {'next': None, 'prev': None}, 'tests': [{'id': 1492, 'case_id': 1, 'status_id': 3, 'assignedto_id': None, 'run_id': 59, 'title': 'First Test Case', 'template_id': 1, 'type_id': 7, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': 'FS-1234, FS-1968', 'milestone_id': None, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '8/1/2024', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': 'Be Awesome', 'custom_steps': 'Do Something\r\nDo Something Else', 'custom_testrail_bdd_scenario': None, 'custom_expected': 'Something is Done\r\nSomething Else is Done', 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 1, 'cases_display_order': 1, 'case_comments': [], 'labels': []}, {'id': 1493, 'case_id': 2, 'status_id': 3, 'assignedto_id': None, 'run_id': 59, 'title': 'Second Test Case', 'template_id': 2, 'type_id': 7, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': 'FS-1234', 'milestone_id': None, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': [{'content': 'Step 1', 'expected': 'Result 1', 'additional_info': '', 'refs': ''}, {'content': 'Step 2', 'expected': 'Result 2', 'additional_info': '', 'refs': ''}], 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 2, 'cases_display_order': 1, 'case_comments': [], 'labels': []}, {'id': 1494, 'case_id': 180, 'status_id': 3, 'assignedto_id': None, 'run_id': 59, 'title': 'Capture Mux Test', 'template_id': 4, 'type_id': 6, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': 'FS-2206', 'milestone_id': None, 'case_assignedto_id': 12, 'custom_created_by': 12, 'custom_created_date': '9/19/2024', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': '[{"content":"@FS2206 @regression @MuxType\\nFeature: Additional Capture API tests\\n \\n As a tester I want to test Mux value\\n\\n Background: \\n Given the api URI\\n\\n # Mux = None\\n Scenario Outline: Verify a Capture Definition is created with MuxType=None\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"None\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199.json | \\/captures\\/createCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=None is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=None is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=None\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n # MuxType = 0104\\n Scenario Outline: Verify a Capture Definition is updated with MuxType=0104\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"0104\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199UpdateMux0104.json | \\/captures\\/updateCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0104 is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0104 is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=0104\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n # MuxType = 0601\\n Scenario Outline: Verify a Capture Definition is updated with MuxType=0601\\n When a \\"POST\\" request with \\"<json>\\" body is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n And the response returned \\"metadataMuxType\\" with the value of \\"0601\\"\\n\\n Examples: \\n | json | endpoint | status_code_id |\\n | Capture199UpdateMux0601.json | \\/captures\\/updateCaptureDef | 200 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0601 is launched\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/launch | 202 |\\n\\n Scenario Outline: Verify the Capture with MuxType=0601 is Online and stable\\n And upon sending a \\"<request>\\" to \\"<endpoint>\\", a \\"<status_code_id>\\" and capture \\"<state>\\" are received\\n\\n Examples: \\n | request | endpoint | status_code_id | state |\\n | GET | captures\\/199\\/status | 200 | Online |\\n\\n Scenario Outline: Shut down the Capture with MuxType=0601\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/shutdown | 202 |\\n\\n Scenario Outline: Delete the Capture with MuxType=0601\\n When a \\"POST\\" request is made to \\"<endpoint>\\"\\n Then the status code is \\"<status_code_id>\\"\\n\\n Examples: \\n | endpoint | status_code_id |\\n | \\/captures\\/199\\/delete | 204 |\\n"}]', 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 2, 'cases_display_order': 2, 'case_comments': [], 'labels': []}, {'id': 1482, 'case_id': 188, 'status_id': 1, 'assignedto_id': None, 'run_id': 59, 'title': 'Test to add .feature file', 'template_id': 1, 'type_id': 7, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': None, 'milestone_id': None, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 2, 'cases_display_order': 3, 'case_comments': [], 'labels': []}, {'id': 1483, 'case_id': 191, 'status_id': 5, 'assignedto_id': None, 'run_id': 59, 'title': 'Additional Capture API tests', 'template_id': 4, 'type_id': 7, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': 'FS2206, regression, MuxType', 'milestone_id': None, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '11/13/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': '\r\n\tAs a tester I want to test Mux value\r\n\t', 'custom_steps': None, 'custom_testrail_bdd_scenario': '[{"content":"\\tBackground: \\n\\tGiven the api URI"},{"content":"\\tScenario Outline: Verify a Capture Definition is created with MuxType=None\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"None\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199.json | \\/captures\\/createCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=None is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=None is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=None\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Verify a Capture Definition is updated with MuxType=0104\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"0104\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199UpdateMux0104.json | \\/captures\\/updateCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0104 is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0104 is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=0104\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Verify a Capture Definition is updated with MuxType=0601\\n\\tWhen a \\"POST\\" request with \\"\\" body is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\tAnd the response returned \\"metadataMuxType\\" with the value of \\"0601\\"\\n\\n\\tExamples:\\n\\t| json | endpoint | status_code_id |\\n\\t| Capture199UpdateMux0601.json | \\/captures\\/updateCaptureDef | 200 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0601 is launched\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/launch | 202 |"},{"content":"\\tScenario Outline: Verify the Capture with MuxType=0601 is Online and stable\\n\\tAnd upon sending a \\"\\" to \\"\\", a \\"\\" and capture \\"\\" are received\\n\\n\\tExamples:\\n\\t| request | endpoint | status_code_id | state |\\n\\t| GET | captures\\/199\\/status | 200 | Online |"},{"content":"\\tScenario Outline: Shut down the Capture with MuxType=0601\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/shutdown | 202 |"},{"content":"\\tScenario Outline: Delete the Capture with MuxType=0601\\n\\tWhen a \\"POST\\" request is made to \\"\\"\\n\\tThen the status code is \\"\\"\\n\\n\\tExamples:\\n\\t| endpoint | status_code_id |\\n\\t| \\/captures\\/199\\/delete | 204 |"}]', 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 2, 'cases_display_order': 4, 'case_comments': [], 'labels': []}, {'id': 1495, 'case_id': 549, 'status_id': 3, 'assignedto_id': None, 'run_id': 59, 'title': 'GitLab Integration Test', 'template_id': 1, 'type_id': 11, 'priority_id': 2, 'estimate': None, 'estimate_forecast': None, 'refs': None, 'milestone_id': None, 'case_assignedto_id': None, 'custom_created_by': 2, 'custom_created_date': '10/23/2025', 'custom_is_automated': True, 'custom_gitlab_project': 'firestorm/motiongeoint/devops/testrail', 'custom_preconds': None, 'custom_steps': None, 'custom_testrail_bdd_scenario': None, 'custom_expected': None, 'custom_steps_separated': None, 'custom_mission': None, 'custom_goals': None, 'sections_display_order': 5, 'cases_display_order': 1, 'case_comments': [], 'labels': []}]}
****
**** API Call
method: POST
url: https://testrail.<redacted>:8001/index.php?/api/v2/update_run_in_plan_entry/59
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
payload: {'suite_id': 1, 'description': None, 'case_ids': [1, 2, 549, 180, 188, 191], 'refs': None}
response status code: 200
response body: {'id': 55, 'name': 'GL Int Test', 'refs': None, 'description': None, 'milestone_id': None, 'assignedto_id': None, 'is_completed': False, 'completed_on': None, 'passed_count': 0, 'blocked_count': 0, 'untested_count': 0, 'retest_count': 0, 'failed_count': 0, 'custom_status1_count': 0, 'custom_status2_count': 0, 'custom_status3_count': 0, 'custom_status4_count': 0, 'custom_status5_count': 0, 'custom_status6_count': 0, 'custom_status7_count': 0, 'project_id': 1, 'created_on': 1763484807, 'start_on': None, 'due_on': None, 'created_by': 2, 'url': 'https://testrail.<redacted>:8001/index.php?/plans/view/55', 'entries': [{'id': '12949cb5-befb-4a33-89f9-192fdfb74ec3', 'suite_id': 1, 'name': 'Test Run Int', 'refs': '', 'description': None, 'include_all': True, 'dataset_id': None, 'runs': [{'id': 58, 'suite_id': 1, 'name': 'Test Run Int', 'description': None, 'milestone_id': None, 'assignedto_id': None, 'include_all': False, 'is_completed': False, 'completed_on': None, 'passed_count': 0, 'blocked_count': 0, 'untested_count': 0, 'retest_count': 0, 'failed_count': 0, 'custom_status1_count': 0, 'custom_status2_count': 0, 'custom_status3_count': 0, 'custom_status4_count': 0, 'custom_status5_count': 0, 'custom_status6_count': 0, 'custom_status7_count': 0, 'project_id': 1, 'plan_id': 55, 'entry_index': 1, 'entry_id': '12949cb5-befb-4a33-89f9-192fdfb74ec3', 'config': 'Chrome, Linux', 'config_ids': [6, 9], 'created_on': 1763485465, 'refs': '', 'created_by': 2, 'dataset_id': None, 'start_on': None, 'due_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/runs/view/58'}, {'id': 59, 'suite_id': 1, 'name': 'Test Run Int', 'description': None, 'milestone_id': None, 'assignedto_id': None, 'include_all': False, 'is_completed': False, 'completed_on': None, 'passed_count': 0, 'blocked_count': 0, 'untested_count': 0, 'retest_count': 0, 'failed_count': 0, 'custom_status1_count': 0, 'custom_status2_count': 0, 'custom_status3_count': 0, 'custom_status4_count': 0, 'custom_status5_count': 0, 'custom_status6_count': 0, 'custom_status7_count': 0, 'project_id': 1, 'plan_id': 55, 'entry_index': 1, 'entry_id': '12949cb5-befb-4a33-89f9-192fdfb74ec3', 'config': 'Firefox, Linux', 'config_ids': [5, 9], 'created_on': 1763485465, 'refs': '', 'created_by': 2, 'dataset_id': None, 'start_on': None, 'due_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/runs/view/59'}]}]}
****
**** API Call
method: GET
url: https://testrail.<redacted>:8001/index.php?/api/v2/get_run/59
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
response status code: 200
response body: {'id': 59, 'suite_id': 1, 'name': 'Test Run Int', 'description': None, 'milestone_id': None, 'assignedto_id': None, 'include_all': False, 'is_completed': False, 'completed_on': None, 'config': 'Firefox, Linux', 'config_ids': [5, 9], 'passed_count': 0, 'blocked_count': 0, 'untested_count': 0, 'retest_count': 0, 'failed_count': 0, 'custom_status1_count': 0, 'custom_status2_count': 0, 'custom_status3_count': 0, 'custom_status4_count': 0, 'custom_status5_count': 0, 'custom_status6_count': 0, 'custom_status7_count': 0, 'project_id': 1, 'plan_id': 55, 'created_on': 1763485465, 'updated_on': 1763488041, 'refs': '', 'dataset_id': None, 'created_by': 2, 'start_on': None, 'due_on': None, 'url': 'https://testrail.<redacted>:8001/index.php?/runs/view/59'}
****
Test run: https://testrail.<redacted>:8001/index.php?/runs/view/59
Adding results: 0/2
**** API Call
method: POST
url: https://testrail.<redacted>:8001/index.php?/api/v2/add_results_for_cases/59
headers:
User-Agent: TRCLI
X-Uploader-Metadata: eyJhcHBfbmFtZSI6ICJ0cmNsaSIsICJhcHBfdmVyc2lvbiI6ICIxLjEyLjQiLCAib3MiOiAibGludXgiLCAiYXJjaCI6ICJ4ODZfNjQiLCAicnVuX21vZGUiOiAiY2kiLCAiY29udGFpbmVyIjogZmFsc2V9
Content-Type: application/json
payload: {'results': [{'case_id': 188, 'status_id': 1, 'comment': '', 'elapsed': '1s', 'attachments': [], 'custom_step_results': []}, {'case_id': 191, 'status_id': 5, 'comment': "Type: java.lang.AssertionError\nMessage: Assertion failed: Expected 'success' but got 'failure'\nText: \n \n java.lang.AssertionError: Expected 'success' but got 'failure'\n at com.example.MyFeatureTest.testFailingScenario(MyFeatureTest.java:25)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)\n at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.base/java.lang.reflect.Method.invoke(Method.java:568)", 'elapsed': '1s', 'attachments': [], 'custom_step_results': []}]}
response status code: 400
response body: {'error': 'Field :results contains one or more invalid results (case C188 unknown or not part of the test run)'}
****
Error during add_results. Trying to cancel scheduled tasks.
Aborting: add_results. Trying to cancel scheduled tasks.
Adding results: 0/2
No attachments found to upload.
Field :results contains one or more invalid results (case C188 unknown or not part of the test run)Attachments
No response
Workaround
None
Pre-submission checks
- I searched for existing issues and discussions
- I masked secrets and personal data