{"id":21304873,"url":"https://github.com/parasoft/run-soatest-action","last_synced_at":"2026-02-13T23:08:40.221Z","repository":{"id":227214026,"uuid":"770719320","full_name":"parasoft/run-soatest-action","owner":"parasoft","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-16T16:45:15.000Z","size":7897,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-09-15T06:33:57.509Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parasoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-12T03:13:13.000Z","updated_at":"2025-09-10T17:06:13.000Z","dependencies_parsed_at":"2025-01-23T12:31:36.118Z","dependency_job_id":null,"html_url":"https://github.com/parasoft/run-soatest-action","commit_stats":null,"previous_names":["parasoft/run-soatest-action"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/parasoft/run-soatest-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-soatest-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-soatest-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-soatest-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-soatest-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parasoft","download_url":"https://codeload.github.com/parasoft/run-soatest-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-soatest-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29422503,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T16:16:15.227Z","updated_at":"2026-02-13T23:08:40.197Z","avatar_url":"https://github.com/parasoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Run Parasoft SOAtest\n\n[![Build](https://github.com/parasoft/run-soatest-action/actions/workflows/build.yml/badge.svg)](https://github.com/parasoft/run-soatest-action/actions/workflows/build.yml)\n[![CodeQL](https://github.com/parasoft/run-soatest-action/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/parasoft/run-soatest-action/actions/workflows/codeql-analysis.yml)\n[![Test](https://github.com/parasoft/run-soatest-action/actions/workflows/test.yml/badge.svg)](https://github.com/parasoft/run-soatest-action/actions/workflows/test.yml)\n\nThis action enables you to run functional tests with Parasoft SOAtest and review results directly on GitHub.\n\nParasoft SOAtest is a testing tool that automates thorough testing for composite applications with robust support for REST and web services, including over 120 protocols/message types. It is an enterprise-grade solution that simplifies complex testing for business-critical transactions through APIs, message brokers, databases, ERPs, browser-based UIs, and other endpoints.\n- Request [a demo](https://www.parasoft.com/products/parasoft-soatest/soatest-request-a-demo/) to see an overview of Parasoft SOAtest's features and benefits.\n- See the [user guide](https://docs.parasoft.com/display/SOA20232) for information about Parasoft SOAtest's capabilities and usage.\n\nPlease visit the [official Parasoft website](http://www.parasoft.com) for more information about Parasoft SOAtest and other Parasoft products.\n\n## Quick start\n\nTo run your Parasoft SOAtest and review test results on GitHub, you need to customize your GitHub workflow to include:\n- The action to run SOAtest.\n- The action to publish the transformed xUnit report to GitHub.\n\n### Prerequisites\nThis action requires Parasoft SOAtest with a valid Parasoft license.\n\nWe recommend that you run Parasoft SOAtest on a self-hosted rather than GitHub-hosted runner.\n\n### Adding the Run SOAtest Action to a GitHub Workflow\nAdd the `Run SOAtest` action to your workflow to run test suites with Parasoft SOAtest.\n\nThe following examples demonstrate simple workflows consisting of one job to run test suites with SOAtest. The examples assume that SOAtest is running on a self-hosted runner and the path to the `soatestcli` executable is available in the `PATH`.\n\n```yaml\n# This is a basic workflow to help you get started with the Run SOAtest action.\nname: Run SOAtest\n\non:\n  # Trigger the workflow on push or pull request events but only for the main branch.\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\n  # Allows you to run this workflow manually from the Actions tab.\n  workflow_dispatch:\n\n# A workflow run is made up of one or more jobs that can run sequentially or in parallel.\njobs:\n  build:\n    # Specifies the name of the job.\n    name: Run test suites with SOAtest\n\n    # Specifies required permissions for upload-sarif action\n    permissions:\n      # required for all workflows\n      security-events: write\n      # only required for workflows in private repositories\n      actions: read\n      contents: read\n\n    # Specifies the type of runner that the job will run on.\n    runs-on: self-hosted\n\n    # Steps represent a sequence of tasks that will be executed as part of the job.\n    steps:\n      # Checks out your repository under $GITHUB_WORKSPACE, so that your job can access it.\n      - name: Checkout repository\n        uses: actions/checkout@v4\n\n      # Execute the tests with SOAtest.\n      - name: Run SOAtest\n        uses: parasoft/run-soatest-action@1.0.0\n        with:\n          #Specify a SOAtest workspace that determines the scope of test execution.\n          soatestWorkspace: 'path/to/soatest/workspace'\n```\n\n### Uploading Test Results to GitHub\nBy default, the `convertReportToXUnit` parameter is set to true. This action generates XML report and converts to xUnit report. You can upload the test reports in the following ways:\n- Upload the XML report to GitHub as an artifact.\n- Publish the results with another action which reads the converted xUnit report to review the results on GitHub. We recommend using `Publish Test Results` and `Test Reporter` to publish the results to GitHub.\n\n#### Upload the reports to GitHub as an artifact\nExample\n```yaml\n- name: Upload report artifact\n  uses: actions/upload-artifact@v4\n  with:\n    name: SOAtestReports # Artifact name\n    path: /reports # Directory containing files to upload\n```\n\n#### Publish Test Results\nPrerequisites\n- A Python3 environment needs to be set up on the action runner if Docker is not provided. See [Running as a non-Docker action](https://github.com/marketplace/actions/publish-test-results#running-as-a-non-docker-action) for details.\n\nExample\n```yaml\njobs:\n  publish:\n    runs-on: windows-latest\n\n    permissions:\n      # Minimal workflow job permissions required by this action in public GitHub repositories\n      checks: write\n      pull-requests: write\n  \n      # The following permissions are required in private GitHub repositories\n      contents: read\n      issues: read\n\n    steps:\n      - name: Publish Test Results\n        uses: EnricoMi/publish-unit-test-result-action/windows@v2\n        with:\n        files: |\n          reports/report-xunit.xml\n```\nSee [Publish Test Results](https://github.com/marketplace/actions/publish-test-results) for details.\n\n#### Test Reporter\nExample\n```yaml\njobs:\n  report:\n    runs-on: ubuntu-latest\n\n    permissions:\n      # Minimal workflow job permissions required by this action in public GitHub repositories\n      actions: read\n      checks: write\n  \n      # The following permissions are required in private GitHub repositories\n      contents: read\n\n    steps:\n      - name: Test Report\n        uses: dorny/test-reporter@v1\n        with:\n          name: 'xUnit Tests'                # Name of the check run which will be created\n          path: 'reports/report-xunit.xml'   # Path to test results\n          reporter: 'java-junit'             # Format of test results\n```\nSee [Test Reporter](https://github.com/marketplace/actions/test-reporter) for details.\n\n## Configuring Test Execution with SOAtest\nYou can configure the test execution with Parasoft SOAtest in the following ways:\n- By customizing the `Run SOAtest` action directly in your GitHub workflow. See [Action Parameters](#action-parameters) for a complete list of available parameters.\n- By configuring options directly in Parasoft SOAtest tool. We recommend creating a `soatestcli.properties` file that includes all the configuration options and adding the file to SOAtest's working directory - typically, the root directory of your repository. This allows SOAtest to automatically read all the configuration options from that file. See [Parasoft SOAtest User Guide](https://docs.parasoft.com/display/SOA20232/Configuring+Settings) for details.\n\n### Examples\nThis section includes practical examples of how to customize the `Run SOAtest` action directly in the YAML file of your workflow.\n\n#### Configuring the Path to the SOAtest Installation Directory\nIf `soatestcli` executable is unavailable on `PATH`, you can configure the path to the installation directory of Parasoft SOAtest by configuring the `installDir` parameter:\n\n```yaml\n- name: Run SOAtest\n  uses: parasoft/run-soatest-action@1.0.0\n  with:\n    installDir: '/opt/parasoft/SOAtest'\n```\n\n#### Defining the Scope for test execution\nYou can configure the `soatestWorkspace` parameter to specify the path to a SOAtest workspace and configure the `resource` parameter to specify the test suite within the SOAtest workspace.\n\n```yaml\n- name: Run SOAtest\n  uses: parasoft/run-soatest-action@1.0.0\n  with:\n    soatestWorkspace: 'path/to/soatest/workspace'\n    resource: 'TestAssets/TestSuite.tst'\n```\n\n#### Configuring a SOAtest Test Configuration\nTest execution with SOAtest is performed by using a test configuration. Parasoft SOAtest ships with a wide range of [built-in test configurations](https://docs.parasoft.com/display/SOA20232/Built-in+Test+Configurations).\nTo specify a test configuration directly in your workflow, add the `testConfig` parameter to the `Run SOAtest` action and specify the URL of the test configuration you want to use:\n```yaml\n- name: Run SOAtest\n  uses: parasoft/run-soatest-action@1.0.0\n  with:\n    testConfig: 'user://Example Configuration'\n```\n\n#### Conversion of the SOAtest report into the xUnit XML format\nEnable to convert the SOAtest report to xUnit XML format:\n```yaml\n- name: Run SOAtest\n  uses: parasoft/run-soatest-action@1.0.0\n  with:\n    convertReportToXUnit: true\n```\n\n## Action Parameters\nThe following inputs are available for this action:\n| Input | Description |\n| --- | --- |\n| `installDir` | Installation folder of Parasoft SOAtest. If not specified, the soatestcli executable must be added to `PATH`. |\n| `soatestWorkspace` | Path to the SOAtest workspace directory. If not specified, `${{ github.workspace }}` will be used.|\n| `testConfig` | Test configuration to be used for test execution. The default is `user://Example Configuration`.|\n| `resource` | Relative path to the test suite(s) within the SOAtest workspace. The default is `TestAssets`.|\n| `settings`| Setting file used to configure execution preferences.|\n| `report` | The path to output folder or a file for the test execution report.|\n| `reportFormat` | Format of reports from test execution. The default is `xml,html`.|\n| `environment` | Name of the SOAtest environment to use for executing the tests.|\n| `convertReportToXUnit` | Enables the conversion of the SOAtest report into the xUnit format. The default is `true`.|\n| `additionalParams` | Additional parameters for the `soatestcli` executable. See [Parasoft SOAtest User Guide](https://docs.parasoft.com/display/SOA20232/CLI+Options#CLIOptions-OptionsReferences) for details.|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparasoft%2Frun-soatest-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparasoft%2Frun-soatest-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparasoft%2Frun-soatest-action/lists"}