mikepenz/xray-action
GitHub action to import test results into "Xray" - A complete Test Management tool for Jira.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 8, 2026
- License
- Apache 2.0
Pinned Snippet
uses: mikepenz/xray-action@2b268086cd2fc5a78bbada2d791286c96077f44b # v4.1.1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| xrayCloud | Defines which variant of Xray to target at [cloud vs Server/DC] | no | true |
| xrayBaseUrl | Defines the base URL for Xray Server/DC, could be used to change XRay Data region for XRay Cloud (required if xrayCloud="false") | no | — |
| username | Xray API client id (cloud) or Jira username (Server/DC). (Required for xrayCoud) | no | — |
| password | Xray API client secret (cloud) or Jira password (Server/DC). (Required for xrayCoud) | no | — |
| xrayToken | Xray Personal Access Token. If provided username/password are ignored. (Xray Server/DC only) | no | — |
| testPaths | A `glob` pattern, to find all test results which should get imported. | yes | **/test-results/test/TEST-*.xml |
| testMerge | When multiple test reports are found, they will be automatically merged into a single test report file. Only supported for: ["junit"] | no | true |
| testFormat | The format of the to be imported data. ["xray", "cucumber", "behave", "junit", "testng", "nunit", "xunit", "robot", "bundle"]. | — | junit |
| testExecKey | Key of the Test Execution. | yes | — |
| projectKey | Key of the project where the Test Execution (if the testExecKey parameter was not provided) and the tests (if they are not created yet) are going to be created. | yes | — |
| testPlanKey | Key of the Test Plan; if you specify the Test Plan, the Tests will be added automatically to the Test Plan if they are not part of it. | no | — |
| testEnvironments | A string containing a list of test environments separated by ";". This is not supported for cloud. | no | — |
| revision | Source code and documentation version used in the test execution. | no | — |
| fixVersion | The Fix Version associated with the test execution (it supports only one value). | no | — |
| combineInSingleTestExec | If no `testExecKey` is provided, it will generate a testExec with the first import, and reuse the same for all other imports. | no | false |
| failOnImportError | Defines if the action should fail if an import error occurred. | no | false |
| continueOnImportError | Defines if the action should continue after a single import error occurred. | no | true |
| importParallelism | Specifies the level of parallelism to import to Xray. | no | 2 |
| responseTimeout | Specifies the maximum duration for a request (in milliseconds) to wait for a response to execute before timing out. The default is 60 seconds. | no | 60000 |
| importRetryLimit | Specifies the maximum number of retries for failed import requests. The default is 2. | no | 2 |
| testExecutionJson | Links to a json file, defining the meta information to create the test execution ticket. | no | — |
| testJson | Links to a json file, defining the meta information to create the test tickets. | no | — |
Outputs
| name | description |
|---|---|
| count | The count of imported files. |
| failed | The count of failed imports. |
| completed | The count of completed imports. |
| errorMessage | The message of failed imports. |
| errorStatusCode | The status code of failed imports. |