TestingOps.ai

Test management · Native connection

Xray and TestingOps: tests with steps, created and reported in Jira

TestingOps reads the Xray tests of a Jira project with their steps, creates new Manual tests from AI-written cases in your test repository folders and records TestingOps runs as Xray Test Executions.

  • Native connection
  • Available with limits
Connection
Native connection
Writes back
Within what you allow
Last checked
7 Nov 2026

In short

Xray and TestingOps in short

The Xray connection reads the tests of a Jira project, with the action, data and expected result of each step, from Xray Cloud or from Xray Server / Data Center inside your Jira. Tests can be imported as runnable cases or kept as knowledge that agents search.

In the other direction it creates new Manual tests with their steps in the test repository folder that matches each case's folder path, and records a finished run as a Test Execution with a status per test.

Tests that already exist in Xray are not updated or deleted through this connection; edited cases stay in TestingOps. Defects go to Jira through the Jira connection.

What it does

What it does for your testing

  1. 1

    Xray tests become runnable cases

    Input
    The tests of a Jira project
    TestingOps
    Imports them with each step's action and data as the action and Xray's result as the expected result, optionally reformatted by your instruction; on Server / Data Center, also with their Test Repository folder and preconditions
    Output
    TestingOps cases ready to run, marked when a test has no steps
  2. 2

    New cases become Xray tests

    Input
    Cases that were never sent to this Xray connection
    TestingOps
    Creates Manual tests with their steps and places them in the repository folder from the case's folder path, creating missing folders
    Output
    New Test issues in Jira, linked to the TestingOps cases
  3. 3

    A run becomes a Test Execution

    Input
    A finished run with results for tests linked to the connection
    TestingOps
    Imports an execution with a status and the failure comment per test
    Output
    A Test Execution issue in the Jira project

Step by step

How it works

  1. Choose the deploymentUnder Integrations → Project tools → Test management, open Xray (Jira) and pick Cloud or Server / Data Center.
  2. Enter credentialsCloud uses the Client ID and Client secret of an Xray API key. Server / Data Center uses your Jira's address and a Jira personal access token, through a private network gateway if Jira is inside your network.
  3. Read testsImport tests with Import from tool on Test Cases, or link the Jira project as a Test management source in Knowledge Base.
  4. Create tests and report runsPush new cases with Push to TM and record a finished run with Send to TM; in both, the target is the Jira project key.

Xray tests that already exist are not changed: a linked case is skipped on push, and edited cases stay in TestingOps when you write back.

Connect

Setup

  1. In TestingOps, open Integrations → Project tools and, under Test management, select Xray (Jira).
  2. Choose the Deployment. Cloud: enter the Client ID and Client secret of an Xray API key. Server / Data Center: enter your Jira's address as Base URL and a Jira personal access token.
  3. If Jira is only reachable inside your network, choose its gateway under Connect through a private network, then select Test connection and Connect.
  4. Import tests with Import from tool on Test Cases, push cases with Push to TM and report runs with Send to TM, giving the Jira project key as the target.
Where you connect it in TestingOps: Integrations → Project tools → Test management → Xray

Use cases

Use cases

Run existing Xray manual tests with AI

Trigger
A team wants its Xray manual tests executed by TestingOps
Uses
The tests of the Jira project and their steps
Agent activity
Imports them, marks duplicates and lists tests that have no steps
Result
Runnable cases in a TestingOps project
Condition
A test without steps arrives without steps; none are invented

Create Xray tests for a new story

Trigger
Agents write cases for a Jira story
Uses
The cases, their steps and their folder
Agent activity
Push to TM creates Manual tests in the matching repository folders
Result
New Xray tests next to the existing ones
Condition
Preconditions are not sent: Xray keeps them as separate Pre-Condition issues

Record a run as a Test Execution

Trigger
A run on RunningOps finishes
Uses
Results of the tests linked to the connection
Agent activity
Send to TM imports an execution into the Jira project
Result
A Test Execution with PASSED, FAILED or TODO per test on Cloud, PASS, FAIL and TODO or SKIPPED on Server / Data Center
Condition
Skipped results are recorded as TODO unless the installation only has SKIPPED

Work with Xray inside a company Jira

Trigger
Jira Data Center with Xray is reachable only over VPN
Uses
A private network gateway on the connection
Agent activity
Reads, pushes and reports go through the gateway
Result
The same flows as with Xray Cloud
Condition
Uses a Jira personal access token

Capabilities

Capabilities and limits

What is read

  • Tests of a Jira project: key, summary, last update and steps (action, data, expected result)
  • Server / Data Center: also the Test Repository folder and the preconditions of each test
  • Up to 5,000 tests per read

What is produced

  • Imported TestingOps cases or knowledge-base entries
  • Test Execution issues from TestingOps runs

Where it can write

  • New Manual tests with steps; Cloud places them in repository folders through Xray's bulk import, Server / Data Center through the Test Repository
  • Test Executions with a status and comment per test
  • Not written: changes to existing tests, deletions, preconditions and defects

How it connects

  • Xray Cloud: Client ID and Client secret of an Xray API key
  • Xray Server / Data Center: Jira base URL and a Jira personal access token; optional private network gateway

Account and permissions

  • Tests are read and created with the permissions of the API key's user or the token owner
  • For customer users, import and write-back are limited to the organization's administrators

Limits

  • Existing tests cannot be updated or deleted through the connection
  • Xray Cloud reads carry no repository folder, so a Cloud import does not rebuild the folder tree
  • The Xray Cloud API address is fixed; there is no region choice
  • A Cloud push waits up to 60 seconds for Xray's bulk import; tests it creates later appear in Jira without a link to TestingOps

Example

Example: how a team uses it

Illustrative scenario, not a customer story.

A team runs Xray in its Jira Data Center behind the company VPN. Agents write five cases for the password reset story in the folder Account/Password reset; Push to TM creates five Manual tests and places them in that Test Repository folder, creating the folder because it did not exist yet.

After the run on RunningOps, Send to TM creates a Test Execution in the same Jira project with PASS for four tests and FAIL with the failure message for the fifth.

Frequently asked questions

Can TestingOps update tests that already exist in Xray?

No. Xray keeps steps in a separate collection that is changed step by step, and that path has not been built. Pushing a linked case skips it, and edited cases stay in TestingOps. New cases are created as new tests.

Does it work with Xray Server and Data Center?

Yes. Choose Server / Data Center and enter your Jira's address and a Jira personal access token; Xray's REST API inside Jira is used, and a private network gateway can carry the traffic if Jira is internal.

Are preconditions imported and sent?

They are read from Xray Server / Data Center tests, not from Xray Cloud. They are not sent when TestingOps creates a test, because Xray keeps preconditions as separate Pre-Condition issues.

Does the folder structure come with an import?

From Server / Data Center, yes: each test's Test Repository folder becomes its folder. Xray Cloud reads do not include the folder, so a Cloud import lands without the repository tree. Pushes place tests in folders on both.

Where are defects filed?

Through the Jira connection: Report to… on a defect creates a Jira issue. The Xray connection does not file defects.

Next step

Using Xray? Request a demo and bring a Jira project with a few manual tests.