Support GitLab CI/CD integration without creating duplicate cycles or phases in Zephyr Enterprise
Description:
Currently, when Zephyr Enterprise is integrated with GitLab CI/CD using the REST API endpoint “upload-file/automation/create-and-execute-job”, the system creates a new test cycle and phase every time results are uploaded, even if a cycle and phase with the same name already exist.
This behavior leads to duplicate timestamped cycles and phases (for example, “Producer-LiveCaseVideoSources_Tue_21_2025_03:47_PM”) which makes it difficult to manage test results efficiently.
Our QA automation pipelines push test results directly from GitLab to Zephyr using PowerShell scripts within GitLab YAML jobs. The uploads succeed, but there is no way to reuse existing cycles or phases. The parameter “isReuse=true” does not currently prevent Zephyr from creating new entities.
Issues caused:
Duplicate cycles and phases for every automation run.
Increased maintenance overhead for large QA teams.
Misalignment between manual and automated test results.
Data clutter and confusion in dashboards and reports.
Requested enhancement:
Add support in the Zephyr Enterprise REST API to detect and reuse existing cycles and phases based on matching values for projectId, releaseId, cycleName, and phaseName.
If “isReuse=true” is set, the upload should link results to the existing entities instead of creating new ones.
Include an API response message confirming whether an existing cycle was reused or a new one was created.
Use case:
QA teams using CI/CD systems such as GitLab, Jenkins, or Azure DevOps need a way to upload automation results to Zephyr Enterprise without creating duplicates. This would allow unified reporting and consistent test traceability between manual and automated runs.