SonarQube Scanner for Jenkins

waitForQualityGate: Wait for SonarQube analysis to be completed and return quality gate status

This step pauses Pipeline execution and wait for previously submitted SonarQube analysis to complete and returns quality gate status.

Note: This step doesn't require an executor.


  • SonarQube server 6.2+
  • Configure a webhook in your SonarQube server pointing to <your Jenkins instance>/sonarqube-webhook/. The trailing slash is mandatory!
  • Use withSonarQubeEnv step to run your analysis prior to use this step


      stage("build & SonarQube analysis") {
          node {
              withSonarQubeEnv('My SonarQube Server') {
                 sh 'mvn clean package sonar:sonar'

      stage("Quality Gate"){
          timeout(time: 1, unit: 'HOURS') {
              def qg = waitForQualityGate()
              if (qg.status != 'OK') {
                  error "Pipeline aborted due to quality gate failure: ${qg.status}"