Xray Cloud integration
Push FRT run results to Xray Cloud as Cucumber executions, or export the .feature / cucumber.json by hand.
Many teams keep test management on Xray Cloud (Jira plugin) but want a real runtime — VisualQ's Cucumber multipart push lets you keep both.
Manual exports (no integration required)
Even without configuring Xray, each run can still be exported manually:
- Download
.feature— the raw Gherkin source. - Download
cucumber.json— Xray-compatible execution payload.
You can upload either file manually in Jira / Xray's import UI.
Setting up the integration
- In Xray Cloud, create a Global API Key (Settings → Apps → Xray Cloud
API Keys). Record the
Client IDandClient Secret. - In VisualQ: Project → Settings → Integrations → Xray → paste the
credentials, the Jira project key (e.g.
VQ), and optionally a Test Plan key. - Save. The integration doc is encrypted at rest in Firestore.
Pushing a run
Once the Xray integration is configured and enabled, the run detail page shows Push to Xray. VisualQ will:
- Build the
cucumber.jsonfrom the run scenarios. - Authenticate against Xray with the stored credentials.
- POST
multipart/form-datatoPOST /api/v2/import/execution/cucumber/multipartwith two parts:results— thecucumber.json.info— a JSON file with the Jira project, summary, description, and optional test environment / test plan key overrides.
- Persist the returned Test Execution key + URL on the run doc, so the timeline shows a direct link to the Jira issue.
You can override the summary or test environments in the modal that opens when you click Push to Xray — useful if a single run targets multiple environments.
What ends up in Xray
- One Test Execution issue per push.
- One Test issue per scenario (Xray reuses existing tests when the scenario name + tags match).
- Steps map to Cucumber steps with their pass/fail status, duration (in nanoseconds), and error messages.
Limitations
- VisualQ does not push screenshots, traces, or videos to Xray — they remain accessible via signed URLs from the VisualQ UI. Xray's own Cucumber import format does not carry binary attachments.
- A Test Plan key set in the integration applies to every push. If you need per-push targeting, use the override field in the Push to Xray modal.
- The push is idempotent at the issue level (Xray dedupes on test name) but every call creates a new Test Execution. If you re-run a flaky scenario five times, you'll get five executions linked to the same test.