All Projects → mc1arke → Sonarqube Community Branch Plugin

mc1arke / Sonarqube Community Branch Plugin

Licence: gpl-3.0
A plugin that allows branch analysis and pull request decoration in the Community version of Sonarqube

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Sonarqube Community Branch Plugin

tyrion
No description or website provided.
Stars: ✭ 83 (-89.29%)
Mutual labels:  sonarqube
Dependency Check Sonar Plugin
Integrates Dependency-Check reports into SonarQube
Stars: ✭ 332 (-57.16%)
Mutual labels:  sonarqube
Sonarqube
Continuous Inspection
Stars: ✭ 6,365 (+721.29%)
Mutual labels:  sonarqube
sonar-openedge
CABL (Code Analyzer for ABL in SonarQube)
Stars: ✭ 57 (-92.65%)
Mutual labels:  sonarqube
sonar-esql-plugin
Sonar plugin to analyze ESQL-sourcecode of IBM Integration Bus projects
Stars: ✭ 26 (-96.65%)
Mutual labels:  sonarqube
Sonar Dotnet
Code analyzer for C# and VB.NET projects https://redirect.sonarsource.com/plugins/vbnet.html
Stars: ✭ 466 (-39.87%)
Mutual labels:  sonarqube
sonar-fsharp-plugin
F# SonarQube (TM) plugin - support for F#
Stars: ✭ 46 (-94.06%)
Mutual labels:  sonarqube
Sonar Java
☕️ SonarSource Static Analyzer for Java Code Quality and Security
Stars: ✭ 745 (-3.87%)
Mutual labels:  sonarqube
Sonar Php
🐘 SonarPHP: PHP static analyzer for SonarQube & SonarLint
Stars: ✭ 288 (-62.84%)
Mutual labels:  sonarqube
Sonar Cxx
SonarQube C++ plugin (Community): This plugin adds C++ support to SonarQube with the focus on integration of existing C++ tools.
Stars: ✭ 649 (-16.26%)
Mutual labels:  sonarqube
docker-fastify-restful-api
Node.js RESTful API boilerplate using Traefik, Docker, Docker Compose, Fastify, JWT and Mongodb
Stars: ✭ 40 (-94.84%)
Mutual labels:  sonarqube
docker-dotnet-sonarscanner
🐳 Sonar Scanner MsBuild Dockerfile for dotNet Projects
Stars: ✭ 21 (-97.29%)
Mutual labels:  sonarqube
Restaurant App
Restaurant App 🍔 is a sample open-source e-Commerce 🛒 application for ordering foods, powered by polyglot microservices architecture and cross-platform development including mobile and web
Stars: ✭ 471 (-39.23%)
Mutual labels:  sonarqube
Android-CICD
This repo demonstrates how to work on CI/CD for Mobile Apps 📱 using Github Actions 💊 + Firebase Distribution 🎉
Stars: ✭ 37 (-95.23%)
Mutual labels:  sonarqube
Sonarjs
SonarSource Static Analyzer for JavaScript and TypeScript
Stars: ✭ 696 (-10.19%)
Mutual labels:  sonarqube
sonar-jdepend-plugin
Sonar plugin for jDepend
Stars: ✭ 22 (-97.16%)
Mutual labels:  sonarqube
Sonar Kotlin
SonarQube plugin for Kotlin
Stars: ✭ 412 (-46.84%)
Mutual labels:  sonarqube
Sonarts
Static code analyzer for TypeScript
Stars: ✭ 776 (+0.13%)
Mutual labels:  sonarqube
Sonar Swift
Open source Swift plugin for SonarQube (also supports Objective-C)
Stars: ✭ 735 (-5.16%)
Mutual labels:  sonarqube
Sonar Gitlab Plugin
Add to each commit GitLab in a global commentary on the new anomalies added by this commit and add comment lines of modified files
Stars: ✭ 630 (-18.71%)
Mutual labels:  sonarqube

Quality Gate Status Build Status

Sonarqube Community Branch Plugin

A plugin for SonarQube to allow branch analysis in the Community version.

Support

This plugin is not maintained or supported by SonarSource and has no official upgrade path for migrating from the SonarQube Community Edition to any of the Commercial Editions (Developer, Enterprise, or Data Center Edition). Support for any problems is only available through issues on the Github repository or through alternative channels (e.g. StackOverflow) and any attempt to request support for this plugin directly from SonarSource or an affiliated channel (e.g. Sonar Community forum) is likely to result in your request being closed or ignored.

If you plan on migrating your SonarQube data to a commercial edition after using this plugin then please be aware that this may result in some or all of your data being lost due to this compatibility of this plugin and the official SonarQube branch features being untested.

Compatibility

Use the following table to find the correct plugin version for each SonarQube version

SonarQube Version Plugin Version
8.5 1.6.0
8.2 - 8.4 1.5.0
8.1 1.4.0
7.8 - 8.0 1.3.2
7.4 - 7.7 1.0.2

Features

The plugin is intended to support the features and parameters specified in the SonarQube documentation.

Installation

Either build the project or download a compatible release version of the plugin JAR. Copy the plugin JAR file to the extensions/plugins/ and the lib/common/ directories of your SonarQube instance and restart SonarQube.

Installation Docker

Add download the plugin and mount it to the container see the last two volumes in the yaml below.

version: 2

services:
  sonarqube:
    image: sonarqube:lts
    container_name: sonarqube
    ports:
      - 9000:9000
    networks:
      - sonarnet
    environment:
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
      - SONARQUBE_JDBC_USERNAME=sonar
      - SONARQUBE_JDBC_PASSWORD=sonar
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins
      - /home/user/sonarqube-community-branch-plugin-X.X.X.jar:/opt/sonarqube/extensions/plugins/sonarqube-community
-branch-plugin.jar
      - /home/user/sonarqube-community-branch-plugin-X.X.X.jar:/opt/sonarqube/lib/common/sonarqube-community-branch
-plugin.jar

  db:
    image: postgres
    container_name: postgres
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - postgresql:/var/lib/postgresql
      - postgresql_data:/var/lib/postgresql/data

Configuration

Global configuration

Make sure sonar.core.serverBaseURL in SonarQube /admin/settings is properly set in order to for the links in the comment to work.

Set all other properties that you can define globally for all of your projects.

How to decorate the PR

In order to decorate your Pull Request's source branch, you need to analyze your target branch first.

Run analysis of branches

The analysis needs the following setting: sonar.branch.name = branch_name (e.g master)

Run analysis of the PR branch

Carefully read the official SonarQube guide for pull request decoration

In there you'll find the following properties that need to be set.

sonar.pullrequest.key = pull_request_id (e.g. 100)
sonar.pullrequest.branch = source_branch_name (e.g feature/TICKET-123)
sonar.pullrequest.base = target_branch_name (e.g master)

⚠️ There must not be any sonar.branch properties like sonar.branch.name arguments set when you analyze a pull-request. These properties indicate to sonar that a branch is being analyzed rather than a pull-request so no pull-request decoration will be executed.

Serving images for PR decoration

By default, images for PR decoration are served as static resources on the SonarQube server as a part of Community Branch Plugin.

If you use a SonarQube server behind a firewall and/or PR service (Github, Gitlab etc.) hasn't access to SonarQube server, you should change Images base URL property in General > Pull Request settings.

Anyone needing to set this value can use the URL https://raw.githubusercontent.com/mc1arke/sonarqube-community-branch-plugin/master/src/main/resources/static, or download the files from this location and host them themself.

Building the plugin from source

In case you want to try and test the current branch or build it for your development execute ./gradlew clean build inside of the project directory. This will put the built jar under libs/sonarqube-community-branch-plugin*.jar

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].