Skip to content

[Bug] add_results_for_cases Fails After update_run_in_plan_entry and Deletes Test Cases In Test Run #372

@duncanGDIT

Description

@duncanGDIT

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

  1. Execute update_run_in_plan_entry API call with the cases that already exist in the run

Expected result

  1. No change to the test run

Actual result

  1. 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 \\"&lt;json&gt;\\" body is made to \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;request&gt;\\" to \\"&lt;endpoint&gt;\\", a \\"&lt;status_code_id&gt;\\" and capture \\"&lt;state&gt;\\" 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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;json&gt;\\" body is made to \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;request&gt;\\" to \\"&lt;endpoint&gt;\\", a \\"&lt;status_code_id&gt;\\" and capture \\"&lt;state&gt;\\" 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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;json&gt;\\" body is made to \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;request&gt;\\" to \\"&lt;endpoint&gt;\\", a \\"&lt;status_code_id&gt;\\" and capture \\"&lt;state&gt;\\" 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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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 \\"&lt;endpoint&gt;\\"\\n    Then the status code is \\"&lt;status_code_id&gt;\\"\\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

Metadata

Metadata

Labels

Help NeededExtra attention is neededTriageThis issue currently being reviewed by the TestRail team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions