A GitHub Action to install the native Windows Rapise and run Rapise test sets stored in SpiraTest using RapiseLauncher.exe.
Requires a windows-latest (or self-hosted Windows) runner.
- A Spira instance (SpiraTest / SpiraTeam / SpiraPlan) with an active user account.
- Test Sets in Spira configured to run automated Rapise tests.
- An Automation Host record created in Spira (e.g., named
GHA).
Store your Spira API Key as a GitHub Secret so it is never exposed in workflow files:
- In Spira, go to My Profile and copy your RSS Token (this is your API Key).
- In your GitHub repository, go to Settings > Secrets and variables > Actions.
- Click New repository secret, set the name to
SPIRA_API_KEY, paste your token, and save.
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/'
spira_test_set_id: '925,1266'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
spira_automation_host: GHAIf you already have a RepositoryConnection.xml file checked into your repository (with Spira server, user, and password pre-configured), point the action to it:
name: Run Rapise Tests (Config File)
on:
workflow_dispatch:
jobs:
test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_config: '${{ github.workspace }}/RepositoryConnection.xml'
spira_test_set_id: '925,1266'When spira_config is provided, the spira_url, spira_username, spira_api_key, and spira_automation_host inputs are not needed — everything is read from the XML file.
Pass Spira connection details directly. The spira_url input supports two forms:
- Short form:
https://myserver.spiraservice.net/— requiresspira_project_idandspira_test_set_idto be set separately. - Full form:
https://myserver.spiraservice.net/9/TestSet/925.aspx— the project ID and test set ID are extracted automatically from the URL.
name: Run Rapise Tests (Credentials)
on:
workflow_dispatch:
jobs:
test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/9/TestSet/925.aspx'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
spira_automation_host: GHARecord a video of the test execution and upload it to the Spira Test Run:
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/9/TestSet/925.aspx'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
record_video: 'true'
record_video_options: '-noaudio -bitRate 512 -frameRate 2'The default record_video_options are -noaudio -bitRate 512 -frameRate 2. Adjust as needed.
Set a custom screen resolution for the runner before test execution:
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/9/TestSet/925.aspx'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
set_screen_size: 'true'
screen_width: '1920'
screen_height: '1080'Combine both features for full desktop UI test coverage:
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/9/TestSet/925.aspx'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
set_screen_size: 'true'
screen_width: '1920'
screen_height: '1080'
record_video: 'true'By default (capture_screenshots: 'true'), the action captures a screenshot of the desktop before and after test execution. These are included in the uploaded artifacts. Disable with:
capture_screenshots: 'false'Use timeout_minutes to kill the launcher if it exceeds the specified duration:
- uses: Inflectra/rapiselauncher-win-action@v1
with:
spira_url: 'https://myserver.spiraservice.net/9/TestSet/925.aspx'
spira_username: 'myuser'
spira_api_key: ${{ secrets.SPIRA_API_KEY }}
timeout_minutes: 10- uses: Inflectra/rapiselauncher-win-action@v1
with:
rapise_version: '9.0.35.20'
# ... other inputsIf your Rapise tests are stored in a Git repository connected to Spira, the action automatically sets GITROOT to $GITHUB_WORKSPACE. Override it with git_root if needed:
- uses: Inflectra/rapiselauncher-win-action@v1
with:
git_root: '${{ github.workspace }}/tests'
# ... other inputsBy default (upload_artifacts: 'true'), the action collects screenshots, .trp, .tap, .log, .wmv files, and Rapise logs into a rapise-results artifact. Disable with:
upload_artifacts: 'false'| Input | Default | Description |
|---|---|---|
spira_config |
Path to existing RepositoryConnection.xml. When set, URL/user/key inputs are ignored. |
|
spira_url |
Spira server URL. Short form: https://server/. Full form: https://server/9/TestSet/925.aspx. |
|
spira_username |
Spira username. | |
spira_api_key |
Spira API key (RSS Token). | |
spira_project_id |
Spira Project ID. Optional if using full-form URL. | |
spira_test_set_id |
Test Set ID(s), comma-separated (e.g. 925,1266). |
|
spira_automation_host |
(hostname) | Automation Host Token. Defaults to runner hostname. |
install_rapise |
true |
Whether to install Rapise. |
rapise_version |
9.0.35.20 |
Rapise version to install. |
set_screen_size |
false |
Set screen resolution before execution. |
screen_width |
1920 |
Screen width (1024–7680). |
screen_height |
1080 |
Screen height (768–4320). |
record_video |
false |
Record video and upload to Spira Test Run. |
record_video_options |
-noaudio -bitRate 512 -frameRate 2 |
Video recording options. |
capture_screenshots |
true |
Capture before/after desktop screenshots. |
upload_artifacts |
true |
Upload execution artifacts after run. |
timeout_minutes |
0 |
Execution timeout in minutes. 0 = no timeout. |
git_root |
Path to Git project root. Defaults to $GITHUB_WORKSPACE. |
- In Spira: Test execution results are automatically uploaded to your Test Run records.
- In GitHub: After the workflow completes, go to the workflow run summary page. Under the Artifacts section, download the
rapise-resultsarchive containing logs, reports, screenshots, and video files for troubleshooting.
- Inflectra/rapiselauncher-node-action — cross-platform (Linux & Windows) action using the Node.js Rapise engine.