Back to directory
kitabisa avatar
kitabisa / sonarqube-action

sonarqube-action

Integrate SonarQube scanner to GitHub Actions

159

Stars

103

Forks

7

Watchers

MIT

License

SonarQube GitHub Action

Using this GitHub Action, scan your code with SonarQube scanner to detects bugs, vulnerabilities and code smells in more than 20 programming languages!

SonarQube Logo

SonarQube is an open-source platform developed by SonarSource for continuous inspection of code quality to perform automatic reviews with static analysis of code to detect bugs, code smells, and security vulnerabilities on 20+ programming languages.

Requirements

Usage

The workflow, usually declared in .github/workflows/build.yaml, looks like:

on:
  # Trigger analysis when pushing in master or pull requests, and when creating
  # a pull request. 
  push:
    branches:
      - master
  pull_request:
      types: [opened, synchronize, reopened]

name: SonarQube Scan
jobs:
  sonarqube:
    name: SonarQube Trigger
    runs-on: ubuntu-latest
    steps:
    - name: Checking out
      uses: actions/checkout@master
      with:
        # Disabling shallow clone is recommended for improving relevancy of reporting
        fetch-depth: 0
    - name: SonarQube Scan
      uses: kitabisa/[email protected]
      with:
        host: ${{ secrets.SONARQUBE_HOST }}
        login: ${{ secrets.SONARQUBE_TOKEN }}

You can change the analysis base directory and/or project key by using the optional input like this:

uses: kitabisa/sonarqube-action@master
with:
  host: ${{ secrets.SONARQUBE_HOST }}
  login: ${{ secrets.SONARQUBE_TOKEN }}
  projectBaseDir: "src/"
  projectKey: "my-custom-project"

Inputs

These are some of the supported input parameters of action.

Parameter Description Required? Default Note
host SonarQube server URL 🟢
login Login or authentication token of a SonarQube user 🟢 Execute Analysis permission required.
password The password that goes with the login username 🔴 This should be left blank if an login are authentication token.
projectBaseDir Set custom project base directory analysis 🔴 .
projectKey The project's unique key 🔴 Allowed characters are: letters, numbers, -, _, . and :, with at least one non-digit.
projectName Name of the project 🔴 It will be displayed on the SonarQube web interface.
projectVersion The project version 🔴
encoding Encoding of the source code 🔴 UTF-8

[!NOTE] If you opt to configure the project metadata and other related settings in a sonar-project.properties file (must be placed within the base directory, projectBaseDir) instead of using input parameters, this action is compatible with that approach!

License

The Dockerfile and associated scripts and documentation in this project are released under the MIT License.

Container images built with this project include third party materials.

Releases

Sep 25, 2023

Download .zip

What's Changed

Fix path of $INPUT_PROJECTBASEDIR by @olofvndrhr in #40

New Contributors

@olofvndrhr made their first contribution in #40

Full Changelog: v1.2.0...v1.2.1

Jun 16, 2022

Download .zip

513476d Update readme b3336b3 update(entrypoint): code-style & sonar sources pointing to project base dir 214c4b6 update(entrypoint): remove conditional trigger event & dynamic source encoding and cod...

Oct 21, 2021

Download .zip

Changelog

Using official Sonar Scanner Docker image instead (incompatible issue #29) (#30)

Jul 25, 2020

Release v1.0.1

Download .zip

Changelog

Fix Constant "workspace" as Project Key & Name (PR #10)