This step pauses Pipeline execution and wait for previously submitted SonarQube analysis to be completed and returns
quality gate status. Setting the parameter abortPipeline
to true will abort the pipeline if quality gate status is not green.
Note: This step doesn't require an executor.
Requirements:
<your Jenkins instance>/sonarqube-webhook/
. The trailing slash is mandatory!withSonarQubeEnv
step to run your analysis prior to use this step
Example using declarative pipeline:
pipeline {
agent none
stages {
stage("build & SonarQube analysis") {
agent any
steps {
withSonarQubeEnv('My SonarQube Server') {
sh 'mvn clean package sonar:sonar'
}
}
}
stage("Quality Gate") {
steps {
timeout(time: 1, unit: 'HOURS') {
waitForQualityGate abortPipeline: true
}
}
}
}
}
Example using scripted pipeline:
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}"
}
}
}