v3.0.0 — TestRail + Xray Integration
What's New
TestRail Integration
Annotate any test method (or class) with @TestRailCase("C1234") to push results to TestRail automatically — no extra code in @Test methods required.
- Creates a named run at suite start (
autoCreateRun: true) - Pushes per-test results immediately after each test completes
- Maps PASSED→1, FAILED→5, SKIPPED→Retest(4)
- Failure exception message sent as the result comment
- Supports multiple case IDs:
@TestRailCase({"C1234", "C5678"})
Xray Integration
Annotate with @XrayTest("PROJ-123") to push results to Xray Cloud or Xray Server/DC.
- Cloud — OAuth2 client credentials (
clientId+clientSecret) - Server/DC — HTTP Basic auth (
jiraUrl+username+password) - Results are batch-imported at suite end for efficiency
- Supports
testPlanKeyto link executions to a Test Plan
Zero extra dependencies
Both clients use java.net.http.HttpClient (built into Java 17) — no OkHttp, Apache HttpClient, or Jackson required.
Works with TestNG and JUnit 5
Same annotations work in both frameworks. Framework auto-routes to the correct listener.
Configuration
testmanagement:
testrail:
enabled: true
url: https://yourcompany.testrail.io
username: user@example.com
apiKey: YOUR_API_KEY
projectId: 1
suiteId: 2
runName: "Selenium Boot – CI run"
xray:
enabled: true
mode: cloud
clientId: YOUR_CLIENT_ID
clientSecret: YOUR_CLIENT_SECRET
projectKey: PROJDependency
<dependency>
<groupId>io.github.seleniumboot</groupId>
<artifactId>selenium-boot</artifactId>
<version>3.0.0</version>
</dependency>Bug Fix
- Fixed
@PreConditionnot resolving@ConditionProvidermethods in the JUnit 5 path