-
Added
jira.testExecutionIssue
option (#372) -
Deprecated
jira.testExecutionIssueDescription
option -
Deprecated
jira.testExecutionIssueKey
option -
Deprecated
jira.testExecutionIssueSummary
option -
Deprecated
jira.testExecutionIssueType
option -
Added
http.rateLimiting
options (#373)
-
Bump @bahmutov/cypress-esbuild-preprocessor from 2.2.1 to 2.2.2
-
Bump @badeball/cypress-cucumber-preprocessor from 20.1.0 to 20.1.1
-
Bump semver from 7.6.2 to 7.6.3
-
Bump cypress from 13.10.0 to 13.13.2
Note
This version includes a complete rewrite of the plugin for maintainability reasons. From a user perspective, it should now be slightly faster overall due to concurrency of feature file or result uploads. Its output has also been cleaned up and it will now only jump into action at the end of a Cypress run once all tests have concluded. If any bugs have slipped through the extensive unit and integration tests, please file a bug.
- Added
xray.status.step
options (#347)
- Bump @badeball/cypress-cucumber-preprocessor from 20.0.3 to 20.1.0
-
Made plugin take Cypress project root into account (#338, fixes #337)
-
Changed plugin to only run in CLI mode (#334)
-
Bump axios from 1.6.8 to 1.7.2
-
Bump semver from 7.6.0 to 7.6.2
-
Removed
addResultsUpload
function -
Changed
configureXrayPlugin
function which now expects Cypress'on
as first parameter:6.0.0
7.0.0
// cypress.config.js import { configureXrayPlugin, addXrayResultUpload } from "cypress-xray-plugin"; async setupNodeEvents(on, config) { await configureXrayPlugin( config, { jira: { url: "https://example.org", projectKey: "ABC" } } ); await addXrayResultUpload(on); }
// cypress.config.js import { configureXrayPlugin } from "cypress-xray-plugin"; async setupNodeEvents(on, config) { await configureXrayPlugin( on, config, { jira: { url: "https://example.org", projectKey: "ABC" } } ); }
-
Removed
openSSL
options:6.0.0
7.0.0
// cypress.config.js import { configureXrayPlugin } from "cypress-xray-plugin"; import { constants } from "node:crypto"; async setupNodeEvents(on, config) { await configureXrayPlugin( config, { openSSL: { rootCAPath: "/home/somewhere/cert.pem", secureOptions: constants.SSL_OP_LEGACY_SERVER_CONNECT } } ); }
// cypress.config.js import { configureXrayPlugin } from "cypress-xray-plugin"; import { constants } from "node:crypto"; import { Agent } from "node:https"; async setupNodeEvents(on, config) { await configureXrayPlugin( on, config, { http: { httpAgent: new Agent({ ca: "/home/somewhere/cert.pem", secureOptions: constants.SSL_OP_LEGACY_SERVER_CONNECT, }), } } ); }
-
Changed support file import:
6.0.0
7.0.0
// cypress/support/e2e.js import "cypress-xray-plugin/register";
// cypress/support/e2e.js import "cypress-xray-plugin/commands";
Note
Up to version 7, this import did nothing, the imported module was completely empty.
From version 7, this import allows cy.request
data to be uploaded as Xray execution evidence.
It can simply be omitted if no request data needs to be uploaded.
-
Bump @cucumber/gherkin from 27.0.0 to 28.0.0
-
Bump @cucumber/messages from 24.0.0 to 24.1.0
-
Bump axios from 1.6.2 to 1.6.8
-
Bump semver from 7.5.4 to 7.6.0
-
Bump @badeball/cypress-cucumber-preprocessor from 19.2.0 to 20.0.3
Note
The breaking changes apply to projects with Cucumber integration only.
Up until version 6.0.0
, the plugin assumed in feature file imports and Cucumber execution results upload that:
- Xray cloud:
- always uses
Precondition:
prefixes for background-precondition linking - always uses
TestName:
prefixes for scenario-test linking
- always uses
- Xray server:
- always tags without prefixes for background-precondition linking
- always tags without prefixes for scenario-test linking
This was found to be not the case in #275, both Xray cloud and Xray server have the option to customize all these prefixes.
-
Cucumber tag prefixes should now be manually configured, as demonstrated for the following feature file:
Feature: A cool story Background: #@MyPreconditionPrefix:CYP-222 Given A When B Then C @MyTestPrefix:CYP-333 Scenario: A cool scenario Given X When Y Then Z
5.2.2
6.0.0
async setupNodeEvents(on, config) { await configureXrayPlugin( config, { cucumber: { // No extra configuration necessary, the plugin // automatically assumed tag prefixes } } ); }
async setupNodeEvents(on, config) { await configureXrayPlugin( config, { cucumber: { prefixes: { precondition: "MyPreconditionPrefix:", test: "MyTestPrefix:" } } } ); }
-
Added
cucumber.prefixes
options -
Removed
decompress
dependency
-
Hid initialization error messages if the plugin is disabled (fixes #271)
-
Added first step to Cucumber error messages (#257)
-
Bump @cucumber/messages from 23.0.0 to 24.0.0
-
Bump @badeball/cypress-cucumber-preprocessor from 19.0.1 to 19.2.0
-
Bump axios from 1.6.0 to 1.6.2
-
Bump @badeball/cypress-cucumber-preprocessor from 18.0.6 to 19.0.1
-
Bump @cucumber/messages from 22.0.0 to 23.0.0
-
Bump axios from 1.5.1 to 1.6.0
- Added test environment support (fixes #223)
-
Added Jira and Xray pings during plugin initialization for configuration verification (#199)
-
Prevent results upload from modifying test issues unnecessarily (fixes #209, #210)
-
Prevent Cucumber results upload of untagged scenarios (#214)
- Bump axios from 1.5.0 to 1.5.1
-
Move
cypress
to the plugin's peer dependencies to impose supported Cypress version ranges -
Prevent existing test execution issue data (summaries, descriptions) from being overwritten unnecessarily (fixes #191)
-
Bump @badeball/cypress-cucumber-preprocessor from 18.0.5 to 18.0.6
-
Bump @cucumber/gherkin from 26.2.0 to 27.0.0
Cypress version 13 was recently released and changed the module API, which this plugin heavily relies on to upload test results to Xray. A few core feature of the plugin had to be rewritten to adapt to these changes.
Note
Previous versions of Cypress will still work just fine, the plugin is backwards compatible regarding Cypress versions.
The changes included a removal of the test function code, which previously was used to update the test steps in Xray. Because the step updates were furthermore quite problematic/lackluster anyways (#50, #164, #169), step updates have been removed from the plugin entirely.
Note
Cucumber feature file synchronization was not affected by this change, which means that upload of feature files can still change Cucumber steps in Xray.
-
The plugin will now never alter existing Xray test steps of tests with test type Manual
-
Removed
xray.steps.update
option -
Removed
xray.steps.maxLengthAction
option
-
-
The
xray.status
options have been refactored a little bit for maintainability reasons:4.0.4
5.0.0
xray: { statusPassed: "OK", statusFailed: "NO", statusPending: "TBD", statusSkipped: "OMIT", }
xray: { status: { passed: "OK", failed: "NO", pending: "TBD", skipped: "OMIT", } }
Note
Their environment variables have not changed.
- With Node V16 being past its end of life date, the plugin now requires Node V18 (LTS) to be installed
- Bump @badeball/cypress-cucumber-preprocessor from 18.0.4 to 18.0.5
- Prevent manual test steps from being overwritten although
xray.steps.update
isfalse
(fixes #164)
- Bump axios from 1.4.0 to 1.5.0
- Prevent missing scenario tags from throwing errors (fixes #100)
-
Reset issue labels after feature file import (fixes #100)
-
Use dynamic
@badeball/cypress-cucumber-preprocessor
import (fixes #152)
- Bump @badeball/cypress-cucumber-preprocessor from 18.0.2 to 18.0.4
- Fix
cypress-xray-plugin/register
export (fixes #133)
-
Bump @badeball/cypress-cucumber-preprocessor from 18.0.1 to 18.0.2
-
Bump dedent from 1.2.0 to 1.5.0
This version heavily focused on features surrounding the upload of Cucumber results. Unfortunately, the Cucumber results upload deviates from the upload of "normal" Cypress results in terms of behaviour regarding nonexistent issues, issue reuse or Jira configuration in general. The reason for this are simply limitations in Xray's APIs.
Some of the plugin's core functionality has been rewritten entirely to keep things consistent for both upload behaviours. Because of this, some options had to be removed since they are either not needed anymore or are now built into the plugin's internal workflows.
-
The plugin will now never create new Jira issues. The only exception to this rule are test execution issues.
-
It now only uploads results of Cypress tests which include a corresponding Jira key and skips all other tests
-
It now only uploads results of Cucumber tests which include both:
-
It now also skips feature file upload/synchronization of feature files for which the above does not apply
-
Note
If the plugin still creates test or precondition issues somehow, please file a bug, since it's simply not supposed to anymore.
-
Jira client instantiation is now mandatory, meaning both Xray and Jira credentials must always be provided
-
Option
jira.url
is now mandatory -
The plugin's functions must now be imported without adding
/plugin
at the end:3.3.3
4.0.0
import { addXrayResultUpload, configureXrayPlugin, syncFeatureFile, } from "cypress-xray-plugin/plugin";
import { addXrayResultUpload, configureXrayPlugin, syncFeatureFile } from "cypress-xray-plugin";
-
The configuration function now expects the Cypress configuration as first parameter:
async setupNodeEvents(on, config) { await configureXrayPlugin( config, // here { jira: { projectKey: "CYP", url: "https://example.atlassian.net" } } ); // ... }
-
When Cucumber is used, enabling the JSON report of the
cypress-cucumber-preprocessor
plugin is now mandatory, for example:// .cypress-cucumber-preprocessorrc.json { "json": { "enabled": true, "output": "cypress/cucumber-json/formatted-report.json" } }
-
Removed
plugin.overwriteIssueSummary
option -
Removed
xray.testType
option -
Removed
jira.createTestIssues
option
-
Restricted exported plugin members to those defined in
index.ts
-
Added
plugin.logDirectory
option -
Added
jira.testExecutionIssueType
option -
Added
jira.testPlanIssueType
option -
Feature file upload/synchronization now automatically resets the summary should the import change it
-
Logging output has been beautified
- Bump semver and @cucumber/cucumber
For versions 3.3.3
and before, please check the GitHub releases page.