Some checks failed
Server CI / Postgres (shard 0) (push) Has been skipped
Server CI / Postgres (shard 3) (push) Has been skipped
BuildEnv Docker Image / build-image (push) Failing after 4s
BuildEnv Docker Image / build-image-fips (push) Failing after 4s
Migration Review & Release Notes / Generate migration review & release notes (push) Failing after 3s
Server CI / Build Environment (push) Failing after 3s
Server CI / Postgres (shard 1) (push) Has been skipped
Tools CI / check-style (mattermost-govet) (push) Failing after 4s
Server CI / Postgres (shard 2) (push) Has been skipped
Tools CI / check-style (mmgotool) (push) Failing after 3s
Server CI / Elasticsearch v8 Compatibility (push) Has been skipped
Server CI / OpenSearch v2 Compatibility (push) Has been skipped
Server CI / Postgres FIPS (shard 0) (push) Has been skipped
Tools CI / Test (mattermost-govet) (push) Failing after 3s
Server CI / Postgres FIPS (shard 1) (push) Has been skipped
Server CI / Postgres FIPS (shard 2) (push) Has been skipped
Tools CI / Test (mmgotool) (push) Failing after 3s
Server CI / Postgres FIPS (shard 3) (push) Has been skipped
Server CI / Run mmctl tests (push) Has been skipped
Server CI / Run mmctl tests (FIPS) (push) Has been skipped
Server CI / Merge Postgres Test Results (push) Has been skipped
Server CI / Merge Postgres FIPS Test Results (push) Has been skipped
Server CI / Check backport migrations (push) Has been skipped
Server CI / Check generated files (push) Has been skipped
Server CI / check-style (push) Has been skipped
Server CI / Vet API (push) Has been skipped
Server CI / Build mattermost server app (push) Has been skipped
Server CI / Server CI Complete (push) Failing after 2s
Server CI / Server CI Artifacts (push) Has been skipped
Server CI / Sentry Upload (push) Has been skipped
Server CI / Server CI Report (push) Failing after 5m1s
Server CI Nightly Race / Race Detector (push) Has been skipped
CodeQL / Analyze (go) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Webapp CI Cache Warm / Warm Webapp node_modules Cache (push) Has been cancelled
E2E CI Cache Warm / Warm E2E npm Registry Cache (push) Has been cancelled
API / build (push) Has been cancelled
Web App CI / check-types (push) Has been cancelled
Web App CI / check-lint (push) Has been cancelled
Web App CI / check-i18n (push) Has been cancelled
Web App CI / check-external-links (push) Has been cancelled
Web App CI / test (platform) (push) Has been cancelled
Web App CI / test (mattermost-redux) (push) Has been cancelled
Web App CI / test (channels shard 1/4) (push) Has been cancelled
Web App CI / test (channels shard 2/4) (push) Has been cancelled
Web App CI / test (channels shard 3/4) (push) Has been cancelled
Web App CI / test (channels shard 4/4) (push) Has been cancelled
Web App CI / upload-coverage (push) Has been cancelled
Web App CI / build (push) Has been cancelled
YAML Lint / yamllint (push) Has been cancelled
Push mirrored docker images / cd/Push mirrored docker images (push) Has been cancelled
docs-cd / Build and deploy docs (push) Has been cancelled
Docs CI / build (push) Has been cancelled
E2E Cache Warm: Cypress deps / Warm Cypress deps cache (push) Has been cancelled
Scorecards supply-chain security / Scorecard analysis (push) Has been cancelled
Server CI Weekly / Postgres FIPS (push) Has been skipped
Server CI Weekly / Run mmctl tests (FIPS) (push) Has been skipped
Server CI Weekly / Postgres with binary parameters (push) Has been skipped
Server CI Weekly / Build Environment (push) Failing after 1s
Server CI Cache Warm / Warm Go Module and Build Cache (push) Failing after 2s
Server CI Nightly Race / Build Environment (push) Failing after 1s
78 lines
3.0 KiB
Markdown
78 lines
3.0 KiB
Markdown
# Save JUnit Test Report to TMS Action
|
|
|
|
GitHub Action to save JUnit test reports to Zephyr Scale Test Management System.
|
|
|
|
## Usage
|
|
|
|
```yaml
|
|
- name: Save JUnit test report to Zephyr
|
|
uses: ./.github/actions/save-junit-report-tms
|
|
with:
|
|
report-path: ./test-reports/report.xml
|
|
zephyr-api-key: ${{ secrets.ZEPHYR_API_KEY }}
|
|
build-image: ${{ env.BUILD_IMAGE }}
|
|
zephyr-folder-id: '27504432' # Optional, defaults to 27504432
|
|
jira-project-key: 'MM' # Optional, defaults to MM
|
|
```
|
|
|
|
## Inputs
|
|
|
|
| Input | Description | Required | Default |
|
|
|-------|-------------|----------|---------|
|
|
| `report-path` | Path to the XML test report file (from artifact) | Yes | - |
|
|
| `zephyr-api-key` | Zephyr Scale API key | Yes | - |
|
|
| `build-image` | Docker build image used for testing | Yes | - |
|
|
| `zephyr-folder-id` | Zephyr Scale folder ID | No | `27504432` |
|
|
| `jira-project-key` | Jira project key | No | `MM` |
|
|
|
|
## Outputs
|
|
|
|
| Output | Description |
|
|
|--------|-------------|
|
|
| `test-cycle` | The created test cycle key in Zephyr Scale |
|
|
| `test-keys-execution-count` | Total number of test executions (including duplicates) |
|
|
| `test-keys-unique-count` | Number of unique test keys successfully saved to Zephyr |
|
|
| `junit-total-tests` | Total number of tests in the JUnit XML report |
|
|
| `junit-total-passed` | Number of passed tests in the JUnit XML report |
|
|
| `junit-total-failed` | Number of failed tests in the JUnit XML report |
|
|
| `junit-pass-rate` | Pass rate percentage from the JUnit XML report |
|
|
| `junit-duration-seconds` | Total test duration in seconds from the JUnit XML report |
|
|
|
|
## Local Development
|
|
|
|
1. Copy `.env.example` to `.env` and fill in your values
|
|
2. Run `npm install` to install dependencies
|
|
3. Run `npm run pretter` to format code
|
|
4. Run `npm test` to run unit tests
|
|
5. Run `npm run local-action` to test locally
|
|
6. Run `npm run build` to build for production
|
|
|
|
### Submitting Code Changes
|
|
|
|
**IMPORTANT**: When submitting code changes, you must run the following checks locally as there are no CI jobs for this action:
|
|
|
|
1. Run `npm run prettier` to format your code
|
|
2. Run `npm test` to ensure all tests pass
|
|
3. Run `npm run build` to compile your changes
|
|
4. Include the updated `dist/` folder in your commit
|
|
|
|
GitHub Actions runs the compiled code from the `dist/` folder, not the source TypeScript files. If you don't include the built files, your changes won't be reflected in the action.
|
|
|
|
## Report Format
|
|
|
|
The action expects a JUnit XML format report with test case names containing Zephyr test keys in the format `{PROJECT_KEY}-T{NUMBER}` (e.g., `MM-T1234`, `FOO-T5678`).
|
|
|
|
The test key pattern is automatically determined by the `jira-project-key` input (defaults to `MM`).
|
|
|
|
Example:
|
|
```xml
|
|
<testsuites tests="10" failures="2" errors="0" time="45.2">
|
|
<testsuite name="mmctl tests" tests="10" failures="2" time="45.2" timestamp="2024-01-01T00:00:00Z">
|
|
<testcase name="MM-T1234 - Test user creation" time="2.5"/>
|
|
<testcase name="MM-T1235 - Test user login" time="3.2">
|
|
<failure message="Login failed"/>
|
|
</testcase>
|
|
</testsuite>
|
|
</testsuites>
|
|
```
|