{"id":21304855,"url":"https://github.com/parasoft/run-jtest-action","last_synced_at":"2025-10-13T10:32:16.463Z","repository":{"id":65161240,"uuid":"353626438","full_name":"parasoft/run-jtest-action","owner":"parasoft","description":"A GitHub Action for running Parasoft Jtest analysis","archived":false,"fork":false,"pushed_at":"2025-02-25T14:46:52.000Z","size":97,"stargazers_count":7,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-30T00:47:59.940Z","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,"zenodo":null}},"created_at":"2021-04-01T08:17:53.000Z","updated_at":"2025-03-09T23:40:36.000Z","dependencies_parsed_at":"2025-02-24T16:33:20.023Z","dependency_job_id":"f15d7291-59b9-413d-97b3-ffa5f40ee3a0","html_url":"https://github.com/parasoft/run-jtest-action","commit_stats":{"total_commits":22,"total_committers":5,"mean_commits":4.4,"dds":0.6818181818181819,"last_synced_commit":"e7009e055db7f6eef050872fd321c772e70e2a4b"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/parasoft/run-jtest-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-jtest-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-jtest-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-jtest-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-jtest-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parasoft","download_url":"https://codeload.github.com/parasoft/run-jtest-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parasoft%2Frun-jtest-action/sbom","scorecard":{"id":720313,"data":{"date":"2025-08-11","repo":{"name":"github.com/parasoft/run-jtest-action","commit":"50d88cb3e2786d0e5711a637186cdc5bd0b82fd8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/27 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"SAST","score":10,"reason":"SAST tool detected: CodeQL","details":["Info: SAST configuration detected: CodeQL","Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/parasoft/run-jtest-action/test.yml/main?enable=pin","Warn: npmCommand not pinned by hash: .github/workflows/build.yml:16","Warn: npmCommand not pinned by hash: .github/workflows/test.yml:16","Info:   0 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"16 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-cxrh-j4jr-qwg3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T11:05:24.451Z","repository_id":65161240,"created_at":"2025-08-22T11:05:24.452Z","updated_at":"2025-08-22T11:05:24.452Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279014647,"owners_count":26085555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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:12.577Z","updated_at":"2025-10-13T10:32:16.457Z","avatar_url":"https://github.com/parasoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Run Parasoft Jtest\n\n[![Build](https://github.com/parasoft/run-jtest-action/actions/workflows/build.yml/badge.svg)](https://github.com/parasoft/run-jtest-action/actions/workflows/build.yml)\n[![CodeQL](https://github.com/parasoft/run-jtest-action/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/parasoft/run-jtest-action/actions/workflows/codeql-analysis.yml)\n[![Test](https://github.com/parasoft/run-jtest-action/actions/workflows/test.yml/badge.svg)](https://github.com/parasoft/run-jtest-action/actions/workflows/test.yml)\n\nThis action enables you to run code analysis with Parasoft Jtest and review analysis results directly on GitHub. \n\nParasoft Jtest is a testing tool that automates software quality practices for Java applications. It uses a comprehensive set of analysis techniques, including pattern-based static analysis, dataflow analysis, metrics, code coverage, and unit testing to help you verify code quality and ensure compliance with industry standards, such as CWE, OWASP, and CERT.\n - Request [a free trial](https://www.parasoft.com/products/parasoft-jtest/jtest-request-a-demo/) to receive access to Parasoft Jtest's features and capabilities.\n - See the [user guide](https://docs.parasoft.com/display/JTEST20202) for information about Parasoft Jtest's capabilities and usage.\n\nPlease visit the [official Parasoft website](http://www.parasoft.com) for more information about Parasoft Jtest and other Parasoft products.\n\n## Quick start\n\nTo analyze your code with Parasoft Jtest and review analysis results on GitHub, you need to customize your GitHub workflow to include:\n - Integration with your build to determine the scope of analysis. \n - The action to run Jtest.\n - The action to upload the Jtest analysis report in the SARIF format to GitHub.\n - The action to upload the Jtest analysis reports in other formats (XML, HTML, etc.) to GitHub as workflow artifacts.\n\n### Prerequisites\nThis action requires Parasoft Jtest with a valid Parasoft license.\n\nWe recommend that you run Parasoft Jtest on a self-hosted rather than GitHub-hosted runner.\n\n### Adding the Jtest Action to a GitHub Workflow\nAdd the `Run Jtest` action to your workflow to launch code analysis with Parasoft Jtest.\n\nAt a minimum, the action requires the `input` parameter to be configured to specify the path to a JSON input file that determines the scope of analysis. In typical scenarios, the input file `jtest.data.json` is generated by the build system you are using. See [Generating a JSON Input File](#generating-a-json-input-file).\n\n#### Generating a JSON Input File\nTo perform code analysis, Jtest requires a JSON input file that determines the scope of analysis. To generate the input file as part of your GitHub workflow, add a Gradle or Maven command line as a step that precedes running the `Run Jtest` action. The command line must include the `-Djtest.skip=true` option to generate a `jtest.data.json` file without performing code analysis.\n\nGradle command line:\n```yaml\n- name: Generate JSON input file with Gradle\n  run: ./gradlew clean build jtest -I /path/to/jtest/integration/gradle/init.gradle \"-Djtest.skip=true\"\n```\nMaven command line:\n```yaml\n- name: Generate JSON input file with Maven\n  run: ./mvnw clean install jtest:jtest \"-Djtest.skip=true\"\n```\nSee [Parasoft Jtest User Guide](https://docs.parasoft.com/display/JTEST20202/Running+Static+Analysis+1) for details.\n\n\n### Uploading Analysis Results to GitHub\nBy default, the Run Jtest action generates analysis reports in the SARIF, XML, and HTML format  (if you are using a Jtest version earlier than 2021.1, see [Generating SARIF Reports with Jtest 2020.2 or Earlier](#generating-sarif-reports-with-jtest-20202-or-earlier)).\n\nWhen you upload the SARIF report to GitHub, the results will be presented as GitHub code scanning alerts. This allows you to review the results of code analysis with Parasoft Jtest directly on GitHub as part of your project. To upload the SARIF report to GitHub, modify your workflow by adding the `upload-sarif` action.\n\nTo upload reports in other formats, modify your workflow by adding the `upload-artifact` action.\n\n\n### Examples\nThe following examples show simple workflows made up of one job for projects built with Gradle and Maven. The examples assume that Jtest is run on a self-hosted runner and the path to the `jtestcli` executable is available on `PATH`.\n\n#### Run Jtest with Gradle project\n\n```yaml\n\n# This is a basic workflow to help you get started with the Run Jtest action.\nname: Jtest with Gradle\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    name: Analyze project with Jtest\n    \n    permissions:\n      # required for all workflows\n      security-events: write\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    \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    # Generates the jtest.data.json input file.\n    - name: Create input for Jtest\n      run: ./gradlew clean build jtest -I /path/to/jtest/integration/gradle/init.gradle \"-Djtest.skip=true\"\n\n    # Runs code analysis with Jtest.\n    - name: Run Jtest\n      id: jtest\n      uses: parasoft/run-jtest-action@2.0.2\n      with:\n        #Uses the jtest.data.json generated with the Gradle command in the previous step\n        input: build/jtest/jtest.data.json\n\n    # Uploads analysis results in the SARIF format, so that they are displayed as GitHub code scanning alerts.\n    - name: Upload results (SARIF)\n      if: always()\n      uses: github/codeql-action/upload-sarif@v3\n      with:\n        sarif_file: reports/report.sarif # reports is a default location for reports directory\n\n    # Uploads an archive that includes all report files (.xml, .html, .sarif).\n    - name: Archive reports\n      if: always()\n      uses: actions/upload-artifact@v4\n      with:\n        name: Static analysis reports\n        path: reports/*.*\n\n```\n\n#### Run Jtest with Maven project\n\n```yaml\n\n# This is a basic workflow to help you get started with the Run Jtest action.\nname: Jtest with Maven\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    name: Analyze project with Jtest\n    \n    permissions:\n      # required for all workflows\n      security-events: write\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    \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    # Generates the jtest.data.json input file.\n    - name: Create input for Jtest\n      run: ./mvnw clean install jtest:jtest \"-Djtest.skip=true\" \n\n    # Runs code analysis with Jtest\n    - name: Run Jtest\n      id: jtest\n      uses: parasoft/run-jtest-action@2.0.2\n      with:\n        #Uses the jtest.data.json generated with the Maven command in the previous step\n        input: target/jtest/jtest.data.json\n\n    # Uploads analysis results in the SARIF format, so that they are displayed as GitHub code scanning alerts.\n    - name: Upload results (SARIF)\n      if: always()\n      uses: github/codeql-action/upload-sarif@v3\n      with:\n        sarif_file: reports/report.sarif # reports is a default location for reports directory\n\n    # Uploads an archive that includes all report files (.xml, .html, .sarif).\n    - name: Archive reports\n      if: always()\n      uses: actions/upload-artifact@v4\n      with:\n        name: Static analysis reports\n        path: reports/*.*\n\n```\n\n## Configuring Analysis with Jtest\nYou can configure analysis with Parasoft Jtest in the following ways:\n - By customizing the `Run Jtest` 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 Jtest tool. We recommend creating a jtestcli.properties file that includes all the configuration options and adding the file to Jtest's working directory - typically, the root directory of your repository. This allows Jtest to automatically read all the configuration options from that file. See [Parasoft Jtest User Guide](https://docs.parasoft.com/display/JTEST20202/Configuration+1) for details.\n\n### Examples\nThis section includes practical examples of how the `Run Jtest` action can be customized directly in the YAML file of your workflow. \n\n#### Configuring the Path to the Jtest Installation Directory\nIf `jtestcli` executable is not on `PATH`, you can configure the path to the installation directory of Parasoft Jtest, by configuring the `installDir` parameter:\n\n```yaml\n- name: Run Jtest\n  uses: parasoft/run-jtest-action@2.0.2\n  with:\n    installDir: '/opt/parasoft/jtest'\n```\n\n#### Defining the Scope for Analysis\nYou can configure the `input` parameter to provide the path to a JSON file that defines the scope of analysis. [Parasoft Jtest User Guide](https://docs.parasoft.com/display/JTEST20202/Running+Static+Analysis+1) for details.\n\n```yaml\n- name: Run Jtest\n  uses: parasoft/run-jtest-action@2.0.2\n  with:\n    input: 'build/demo.data.json'\n```\n\n#### Configuring a Jtest Test Configuration\nCode analysis with Jtest is performed by using a test configuration - a set of static analysis rules that enforce best coding practices or compliance guidelines. Parasoft Jtest ships with a wide range of [built-in test configurations](https://docs.parasoft.com/display/JTEST20202/Built-in+Test+Configurations).\nTo specify a test configuration directly in your workflow, add the `testConfig` parameter to the `Run Jtest` action and specify the URL of the test configuration you want to use:\n```yaml\n- name: Run Jtest\n  uses: parasoft/run-jtest-action@2.0.2\n  with:\n    testConfig: 'builtin://Recommended Rules'\n```\n\n#### Generating SARIF Reports with Jtest 2020.2 or Earlier\nGenerating reports in the SARIF format is available in Jtest since version 2021.1. If you are using an earlier Jtest version, you need to customize the `Run Jtest` action to enable generating SARIF reports:\n```yaml\n- name: Run Jtest\n  uses: parasoft/run-jtest-action@2.0.2\n  with:\n    reportFormat: xml,html,custom\n    additionalParams: '-property report.custom.extension=sarif -property report.custom.xsl.file=${PARASOFT_SARIF_XSL}'\n```\n\n#### Baselining Static Analysis Results in Pull Requests\nIn GitHub, when a pull request is created, static analysis results generated for the branch to be merged are compared with the results generated for the integration branch. As a result, only new violations are presented, allowing developers to focus on the relevant problems for their code changes.\nFor this baselining to succeed, make sure your static analysis workflow triggers for pull requests. For example:\n```yaml\non:\n  # Triggers the workflow on push or pull request events but only for the main branch.\n  pull_request:\n    branches: [ main ]\n```\n\n##### Defining the Branch Protection Rule\nYou can define a branch protection rule for your integration branch that will block pull requests due to new violations or errors. To configure this:\n1. In the GitHub repository GUI, go to **Settings\u003eBranches**.\n1. Make sure your default integration branch is configured. If needed, select the appropriate branch in the **Default branch** section.\n1. Define the branch protection rule. In the **Branch protection rule** section click **Add rule**. Enable the **Require status checks to pass before merging** option and specify which steps in the pipeline should block the merge. Type the status check name in the search field to select it (only the status checks run during the last week are listed).\n- You can specify that the merge will be blocked if any violations are found as a result of the analysis by selecting the appropriate GitHub Code Scanning tool. If the GitHub Code Scanning tool is not available, you need to run a pull request for the integration branch first.\n- You can specify that the merge will be blocked if any defined job is not completed because of errors in its configuration by selecting the job build name. If no jobs are available, you need to run a workflow from the integration branch first. For example, when you execute the default Jtest pipeline, the 'Run Jtest' job will be available and can be used as a status check.\n\nIf a pull request is blocked due to failed checks, the administrator can still manually perform the merge using the **Merge without waiting for requirements to be met** option.\n\n## Action Parameters\nThe following inputs are available for this action:\n| Input | Description |\n| --- | --- |\n| `installDir` | Installation folder of Parasoft Jtest. If not specified, the jtestcli` executable must be added to $PATH. |\n| `workingDir` | Working directory for running Jtest. If not specified, `${{ github.workspace }}` will be used.|\n| `testConfig` | Test configuration to be used for code analysis. The default is `builtin://Recommended Rules`.|\n| `reportDir` | Output folder for reports from code analysis. If not specified, report files will be created in the `reports` folder.|\n| `reportFormat`| Format of reports from code analysis. The default is `xml,html,sarif`.|\n| `input` | Input scope for analysis, typically `jtest.data.json`.|\n| `additionalParams` | Additional parameters for the `jtestcli` executable.|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparasoft%2Frun-jtest-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparasoft%2Frun-jtest-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparasoft%2Frun-jtest-action/lists"}