This repository is a practical Cypress + Jira integration example using @testream/cypress-reporter. It shows how to upload Cypress E2E results and failure screenshots from local runs and GitHub Actions into Jira through Testream.
If you are searching for "Cypress Jira reporter", "Cypress GitHub Actions Jira integration", or "send Cypress test results to Jira", this repo is the implementation template.
- CI-ready: Includes a working GitHub Actions workflow with
cypress-io/github-action. - Failure artifacts in Jira: Captures screenshots on failed tests and uploads them.
- Safe onboarding: Upload is enabled only when
TESTREAM_API_KEYexists. - Real debugging flow: Intentional failing tests show how triage looks in Testream/Jira.
Testream is an automated test management and reporting platform for Jira teams. It ingests test results from frameworks like Cypress, Playwright, Jest, and Vitest, then provides failure analysis, trends, and release visibility inside Jira.
If this sample repository is not the framework you need, browse all native reporters in the Testream docs: https://docs.testream.app/.
Click to see how Testream turns raw CI test results into actionable Jira insights (failures, trends, and release visibility):
Install the Testream Automated Test Management and Reporting for Jira app in your Jira workspace to view uploaded runs.
cypress/
e2e/
navigation.cy.ts - Navigation tests (passing + 1 intentional failure)
actions.cy.ts - Form interaction tests (passing + 1 intentional failure)
assertions.cy.ts - DOM assertion tests (passing + 1 intentional failure)
support/
commands.ts - Custom Cypress commands
e2e.ts - Support entry point
cypress.config.ts
.github/workflows/cypress.yml
.env.example
The intentional failures exist so you can verify how errors and screenshots appear in Jira.
- Sign in at testream.app.
- Create a project.
- Copy your API key.
npm installRequires Node.js 18+.
cp .env.example .envSet at least:
TESTREAM_API_KEY=<your key>npm testWhen TESTREAM_API_KEY is present, results upload automatically. Without it, tests still run locally and no upload happens.
The Testream reporter is initialized inside setupNodeEvents. Key behavior:
uploadEnabledis derived from API key presence.- Reporter is only created when a key exists.
screenshotOnRunFailure: trueand reporterscreenshot: trueattach failure screenshots.failOnUploadErroris currentlyfalsein this example (non-blocking upload behavior).- CI metadata (
commitSha,repositoryUrl,branchName,buildNumber,buildUrl) is auto-detected.
Reporter docs: https://docs.testream.app/reporters/cypress
The workflow at .github/workflows/cypress.yml runs on push, pull request, and manual dispatch.
Add this repository secret:
Settings -> Secrets and variables -> Actions -> New repository secret
| Name | Value |
|---|---|
TESTREAM_API_KEY |
Your Testream API key |
Workflow env examples already wired:
| Variable | Example |
|---|---|
TESTREAM_APP_VERSION |
${{ github.sha }} |
TEST_ENV |
ci |
After connecting your Testream project to Jira, you get:
- Dashboard views for pass/fail health
- Failed test details with stack traces and screenshots
- Trend analytics across runs
- Jira issue creation from failures with context included
- Ensure
TESTREAM_API_KEYis set in.env. - Restart your terminal session if env values were changed.
- Confirm
TESTREAM_API_KEYexists in repository secrets. - For fork PRs, check whether secrets are available to the workflow.
- Keep
screenshotOnRunFailure: truein Cypress config. - Keep reporter option
screenshot: trueenabled.
It is an example designed to be copied and adapted. The CI and reporter wiring are production-oriented.
They demonstrate real failure triage in Jira, including screenshot artifacts.
Yes. The test suite runs normally without TESTREAM_API_KEY; upload is skipped.
| Approach | Benefit | Tradeoff |
|---|---|---|
| Raw test artifacts only | Simple setup | Limited Jira-native analytics |
| Custom upload scripts | Flexible | More maintenance and error handling |
| Testream Cypress reporter (this repo) | Native integration + screenshots + Jira workflow | Requires Testream setup |
- Testream app: https://testream.app
- Testream Automated Test Management and Reporting for Jira: https://marketplace.atlassian.com/apps/3048460704/testream-automated-test-management-and-reporting-for-jira
- Cypress reporter docs: https://docs.testream.app/reporters/cypress
- Cypress docs: https://docs.cypress.io
