当前位置: 首页 > 知识库问答 >
问题:

SonarQube不将waitForQualityGate()的状态返回给Jenkins?

宗政安歌
2023-03-14
node{
stage('git checkout process'){
  echo 'started checkout'
  git 'https://github.com/ramkumar/sampleproject'
  echo 'completed sucessfully'
}

stage('compile package'){
  def mvnTool = tool name: 'Maven', type: 'maven'
  sh "${mvnTool}/bin/mvn clean install" 
}

  stage('SonarQube analysis') {
    withSonarQubeEnv('sonarqube') {
      mvnHome = '/opt/apache-maven/bin'
      sh "${mvnHome}/mvn sonar:sonar"

    }
  }

  stage("Quality Gate"){
          timeout(time: 1, unit: 'HOURS') {
              def qg = waitForQualityGate()
              if (qg.status != 'OK') {
                  emailext body: 'Your code was failed due to sonarqube quality gate', subject: 'Jenkins Failed Report', to: 'prakashpp666666@gmail.com'
                  error "Pipeline aborted due to quality gate failure: ${qg.status}"

              }
          }
      }

共有1个答案

丰博
2023-03-14

我通过在Sonarqube中创建一个webhook来解决这个问题。

  1. 在项目/项目设置中,选择WebHooks

注意:如果您错误地从SQ获得FAIL,请验证SonarQube服务器的url(在Jenkins设置中)不以'/'结尾

 类似资料:
  • null 我在SonarQube UI中配置了一个webhook,其URL如下。 http://myjenkins.com:8083/sonarqube-webhook/ 我有一个詹金斯管道文件如下。 所以我现在不知道该去哪里? 任何帮助都将不胜感激!

  • 在我的应用程序中,用户可以将电影标题添加到他们的观看列表中。在我的组件中,我有以下功能: 这目前有一些虚拟信息。 在我的服务中,我有: 所以我将电影对象和令牌传递给后端。 在我的电影ontroller.java我有: 以及movieService中的createMovie功能: 这一切都很好,但我想在电影成功添加到列表(数据库)时向angular应用程序返回一条消息。我想我应该使用@Respons

  • 像“addSomething()”这样的类也有方法。这个可以成功也可以不成功。因此,成功的状态可以用一个布尔返回值来显示。但是有时方法调用会因为几个原因而失败。“false”显示了这一点,但只是以一般方式显示。有时程序员想知道失败的原因。为此,提供一个自己的报告类来提供这样的功能有用吗? 然后,您可以决定是否要使用“wassucsuccess()”获取一般成功报告,或者是否还要使用“getMess

  • 我正在尝试使用BitBucket GIT存储库设置Jenkins,但Jenkins控制台总是给我以下错误代码: 我尝试过很多不同的方法,但总是失败。我的服务器上允许9418端口上的通信量。服务器处于1 Gbps连接上。

  • 本文向大家介绍ajax返回的状态有哪些?相关面试题,主要包含被问及ajax返回的状态有哪些?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端

  • 我有一个名为Backend(端口:9090)的服务,位于Zuul(端口:8080)后面。 浏览器在Zuul上调用GET方法,执行重定向。 示例调用:http://localhost:8080/testredirect 结果: 浏览器收到Http状态=200 浏览器URL:http://localhost:8080/testredirect 浏览器显示:Hello world 预期结果: 浏览器应接