Forum Discussion

katlimalice's avatar
katlimalice
New Member
29 minutes ago

PUT /v2/testcycles/{key} ignores folderId field and removes folder assignment

SMARTBEAR ZEPHYR SCALE BUG REPORT

==================================

 

TITLE:

PUT /v2/testcycles/{key} ignores folderId field and removes folder assignment

 

PRODUCT:

Zephyr Scale Cloud

 

API VERSION:

v2 (REST API)

 

DESCRIPTION:

When updating a Test Cycle using the PUT endpoint /v2/testcycles/{key}, the API completely ignores the folderId field in the request body. Additionally, as a side effect of any PUT operation, the cycle's folder assignment is removed (set to null), even when explicitly including the original folderId in the request.

 

STEPS TO REPRODUCE:

 

1. Create a Test Cycle with a folder assignment:

 

POST /v2/testcycles

Content-Type: application/json

 

{

"name": "Test Cycle Example",

"projectKey": "PROJ",

"folderId": 55869097,

"description": "Test cycle in folder"

}

 

Response: Cycle created successfully with folder assignment (OK)

 

 

2. Verify the cycle has folder assigned:

 

GET /v2/testcycles/PROJ-R50

 

Response includes: "folder": {"id": 55869097} (OK)

 

 

3. Update the cycle status while preserving folder:

 

PUT /v2/testcycles/PROJ-R50

Content-Type: application/json

 

{

"id": 112825457,

"key": "PROJ-R50",

"name": "Test Cycle Example",

"project": {"id": 723549},

"status": {"id": 13932952},

"folderId": 55869097,

"customFields": {"Comment": "Updated via API"}

}

 

Response: HTTP 200 OK

 

 

4. Verify the cycle folder after PUT:

 

GET /v2/testcycles/PROJ-R50

 

Response includes: "folder": null (FAILED - folder was removed!)

 

 

EXPECTED BEHAVIOR:

- The PUT endpoint should accept and process the folderId field in the request body

- The PUT endpoint should preserve the existing folder assignment if folderId is not provided

- The PUT endpoint should allow moving cycles between folders by specifying a different folderId

 

ACTUAL BEHAVIOR:

- The folderId field is completely ignored in PUT requests

- Any PUT operation removes the folder assignment (sets to null)

- There is no workaround to update cycle fields while preserving folder

- A second PUT attempt to restore the folder also fails

 

ATTEMPTED WORKAROUNDS (all failed):

 

Attempt 1: Send folder as object

Request: {"status": {...}, "folder": {"id": 55869097}}

Result: folder = null

 

Attempt 2: Send folderId as number

Request: {"status": {...}, "folderId": 55869097}

Result: folder = null

 

Attempt 3: Minimal body with status only

Request: {"status": {...}}

Result: Error - missing required fields (id, key, name, project, customFields)

 

Attempt 4: Full body with all required fields + folderId

Request: Complete body with id, key, name, project, status, folderId, customFields

Result: folder = null

 

Attempt 5: Second PUT to restore folder after status update

Result: folder still null

 

 

IMPACT:

- Severity: High

- Workaround: None that preserves both status and folder

- Current mitigation: Skip status updates to preserve folder organization

 

This breaks CI/CD integrations that need to update cycle status after test execution while maintaining folder organization.

 

ENVIRONMENT:

- Zephyr Scale Cloud

- API v2

- Project ID: 723549

- Folder IDs tested: 55869097, 55647404

 

ADDITIONAL INFORMATION:

- POST /v2/testcycles correctly accepts and uses folderId (OK)

- GET /v2/testcycles/{key} correctly returns folder object (OK)

- PUT /v2/testcycles/{key} ignores folderId and clears folder (BUG)

- No documented endpoint exists for /testcycles/{key}/folder to move cycles between folders

No RepliesBe the first to reply