This extension provides build tasks that you can add in your build definition. All branches and pull-requests are automatically analyzed, allowing you to discover early any bug or vulnerability in the code.
About the SonarQube Azure DevOps Marketplace Extension
This extension provides the following features:
Note for TFS installations older than TFS 2017 Update 2: to install the extension, please follow instructions available on the "SonarQube Extension 3.0" documentation page.
Seamless Integration with .Net solutions
The analysis of C# and VB. Net solution is really straightforward since it only requires adding the two Prepare Analysis Configuration and Run Code Analysis tasks to your build definition.
Easy setup for Maven and Gradle projects
If you're doing Java, analyzing your source code is also very easy. It only requires adding the Prepare Analysis Configuration task, and check the Run SonarQube Analysis option in the "Code Analysis" panel of the Maven or Gradle task.
Branch and Pull Request analysis
Whatever type of source repository you are analysing, when a build is run on a branch of your project, the extension automatically configures the analysis to be pushed to the relevant project branch on SonarQube:
If you configure your build definition as a build validation for pull requests of that project (this can be done on "Branch policies"), SonarQube will also analyze the code changes and decorate the pull request with comments and overall status so that you can merge with confidence:
Important note: to activate pull request decoration, you must specify a user token in the "General Settings > Pull Requests" administration page of your project in SonarQube.
Quality Gate Status
The Publish Quality Gate Result task waits for the analysis report to be consumed by the SonarQube in order to flag the build job with the Quality Gate status. The Quality Gate is a major, out-of-the-box, feature of SonarQube. It provides the ability to know at each analysis whether an application passes or fails the release criteria. In other words it tells you at every analysis whether an application is ready for production "quality-wise".
Example of a passing Quality Gate:
Example of a failing Quality Gate:
This Get Started guide provides all the required documentation for you to setup a build definition.