VisualQ
Integrations

Xray

Sync VRT results to Xray test executions with screenshot evidence.

Pro plan

The Xray integration imports VisualQ visual regression test results directly into Xray for Jira as structured Test Executions, complete with pass/fail status and screenshot evidence.

Why use Xray + VisualQ?

Xray manages your test lifecycle (plans, cases, traceability), while VisualQ handles visual regression detection. Together, your QA team gets:

  • Structured VRT results in Xray (not just Jira comments)
  • Screenshot evidence attached to each Test Run
  • Smart Diff AI explanations included in test comments
  • Full traceability from requirements to visual test results
  • Unified reporting across functional and visual tests

Prerequisites

  • Xray for Jira Cloud (Standard, Advanced, or Enterprise)
  • An Xray API Key (Client ID + Client Secret)

Setup

1. Generate Xray API keys

  1. In Jira, go to Settings > Apps > Xray > API Keys
  2. Click Create API Key
  3. Copy the Client ID and Client Secret

2. Configure in VisualQ

  1. Navigate to Settings > Integrations
  2. Click Connect on the Xray card
  3. Enter your credentials:
    • Client ID — from step 1
    • Client Secret — from step 1
    • Jira Project Key — the project where test executions will be created (e.g., PROJ)
  4. Optionally configure:
    • Test Plan Key — link all executions to an existing Xray Test Plan
    • Auto-create tests — automatically create Generic test issues for each VRT scenario
    • Attach evidence — include diff screenshots in test runs
  5. Click Save

3. Test the connection

Click Test to verify VisualQ can authenticate with the Xray API.

How it works

When a VRT run completes, VisualQ sends the results to Xray:

  1. Authenticates with the Xray Cloud API using your Client ID and Secret
  2. Creates a Test Execution in your Jira project with run metadata
  3. Maps each scenario to a Test Run with PASSED or FAILED status
  4. Attaches diff screenshots as evidence on failed tests
  5. Includes Smart Diff AI analysis in test comments (severity, explanation, recommendation)

What appears in Xray

Each VRT run creates a Test Execution issue containing:

  • Summary: VisualQ VRT — Project Name (date)
  • Description with branch, commit, and report link
  • Individual Test Runs for each scenario/viewport combination
  • Screenshot evidence on failed runs

Configuration options

OptionDefaultDescription
Auto-create testsOnCreate Generic test issues in Xray for new VRT scenarios
Attach evidenceOnInclude diff screenshots in failed test runs
Diff onlyOffOnly attach the diff image (reduces storage)
Test Plan KeyLink executions to an existing Xray Test Plan

Events

The Xray integration listens for these events:

EventAction
run.completedImport execution results (PASSED/FAILED per scenario)
run.failedImport a failed execution with error details

Using with CI/CD

Pass CI metadata to enrich the Xray Test Execution:

# GitHub Action
- uses: abecms/visualq-action@v1
  with:
    api-key: ${{ secrets.VISUALQ_API_KEY }}
    project: my-website
    jira-key: PROJ-123
# REST API
curl -X POST https://visualq.ai/api/ci/run \
  -H "X-API-Key: $VISUALQ_API_KEY" \
  -d '{"project": "my-website", "jiraKey": "PROJ-123", "branch": "feature/new-ui", "commitSha": "abc1234"}'

Difference with the Jira integration

AspectJira integrationXray integration
APIJira REST v2Xray Cloud REST v2
OutputComments on issuesTest Executions + Test Runs
EvidenceText onlyScreenshots (base64)
TraceabilityTextual linkStructured test-execution-result
Best forNotificationsReporting + coverage tracking

You can use both integrations simultaneously — Jira for issue comments and Xray for structured test execution tracking.

On this page