Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-43081

Quality-gates plugin do not work with SonarQube 6.3

      Quality-gates plugin does not work with SonarQube 6.3.

      Since SonarQube 6.3, api has been removed/changed.

      https://docs.sonarqube.org/display/DEV/API+Changes

      Error message in Jenkins build log:
      quality.gates.jenkins.plugin.QGException: Expected status 200, got: 404. Response: {"errors":[\{"msg":"Unknown url : /api/events"}]}
      at quality.gates.sonar.api.SonarHttpRequester.executeGetRequest(SonarHttpRequester.java:59)
      at quality.gates.sonar.api.SonarHttpRequester.getAPIInfo(SonarHttpRequester.java:47)
      at quality.gates.sonar.api.QualityGatesProvider.getRequesterResult(QualityGatesProvider.java:34)
      at quality.gates.sonar.api.QualityGatesProvider.getAPIResultsForQualityGates(QualityGatesProvider.java:29)
      at quality.gates.jenkins.plugin.BuildDecision.getStatus(BuildDecision.java:20)
      at quality.gates.jenkins.plugin.QGPublisher.perform(QGPublisher.java:73)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
      at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:720)
      at hudson.model.Build$BuildExecution.post2(Build.java:186)
      at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:665)
      at hudson.model.Run.execute(Run.java:1758)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      at hudson.model.ResourceController.execute(ResourceController.java:97)
      at hudson.model.Executor.run(Executor.java:405)
      Build step 'Quality Gates' marked build as failure
      Finished: FAILURE

          [JENKINS-43081] Quality-gates plugin do not work with SonarQube 6.3

          pablo perez added a comment -

          thanhpolimi Thanks for the suggestion, but now even with the quality gates failing in sonar the plugin pass the job successfull, I have to do something specific?. I just delete the old plugin, add yours and then add in the build step the quality gates with the id of my project in sonar.

           

          Thanks

          pablo perez added a comment - thanhpolimi Thanks for the suggestion, but now even with the quality gates failing in sonar the plugin pass the job successfull, I have to do something specific?. I just delete the old plugin, add yours and then add in the build step the quality gates with the id of my project in sonar.   Thanks

          Pham Tien Thanh added a comment - - edited

          I will take a look to see if there is any bugs. Wait for my update soon. \

          It could be nice if you can send me your jenkin's build logs for the job. 

          Pham Tien Thanh added a comment - - edited I will take a look to see if there is any bugs. Wait for my update soon. \ It could be nice if you can send me your jenkin's build logs for the job. 

          I tried with my testing project and the build was failed as expected.

           

          INFO: Analysis report generated in 155ms, dir size=220 KB
          INFO: Analysis reports compressed in 64ms, zip size=130 KB
          INFO: Analysis report uploaded in 35ms
          INFO: ANALYSIS SUCCESSFUL, you can browse http://192.168.10.79:9090/sonar/dashboard/index/sonar.projects.globaldesk.develop:develop
          INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
          INFO: More about the report processing at http://192.168.10.79:9090/sonar/api/ce/task?id=AVtHbFGpAYN5p4b5eShv
          INFO: Task total time: 4.898 s
          INFO: ------------------------------------------------------------------------
          INFO: EXECUTION SUCCESS
          INFO: ------------------------------------------------------------------------
          INFO: Total time: 5.949s
          INFO: Final Memory: 47M/280M
          INFO: ------------------------------------------------------------------------
          Build-Step: Quality Gates plugin build passed: FALSE
          Build step 'Quality Gates' marked build as failure

          Pham Tien Thanh added a comment - I tried with my testing project and the build was failed as expected.   INFO: Analysis report generated in 155ms, dir size=220 KB INFO: Analysis reports compressed in 64ms, zip size=130 KB INFO: Analysis report uploaded in 35ms INFO: ANALYSIS SUCCESSFUL, you can browse http://192.168.10.79:9090/sonar/dashboard/index/sonar.projects.globaldesk.develop:develop INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report INFO: More about the report processing at http://192.168.10.79:9090/sonar/api/ce/task?id=AVtHbFGpAYN5p4b5eShv INFO: Task total time: 4.898 s INFO: ------------------------------------------------------------------------ INFO: EXECUTION SUCCESS INFO: ------------------------------------------------------------------------ INFO: Total time: 5.949s INFO: Final Memory: 47M/280M INFO: ------------------------------------------------------------------------ Build-Step: Quality Gates plugin build passed: FALSE Build step 'Quality Gates' marked build as failure

          pablo perez added a comment -

          finally it´s working, but dunno why, it takes two times job to get the result updated. Anyway much much better than nothing. If I found a bug or If I have time to look the issue with the first attempt I will open a pull request. 

           

          Thanks for the good work!

          pablo perez added a comment - finally it´s working, but dunno why, it takes two times job to get the result updated. Anyway much much better than nothing. If I found a bug or If I have time to look the issue with the first attempt I will open a pull request.    Thanks for the good work!

          Charlie Cox added a comment -

          Is support for authentication with tokens going to be supported soon?

          Since the plug in defaults the password to "admin" I am unable to use my token to auth with SonarQube.

          Charlie Cox added a comment - Is support for authentication with tokens going to be supported soon? Since the plug in defaults the password to "admin" I am unable to use my token to auth with SonarQube.

          Pham Tien Thanh added a comment - - edited

          Sure! I need a little time for this cause I am busy on other project. 

          The password default is set to 'admin' but you can/must config the plugin it self in Jenkin > Configure with your appropriate user/password.

          Access token support will be added soon. 

          Pham Tien Thanh added a comment - - edited Sure! I need a little time for this cause I am busy on other project.  The password default is set to 'admin' but you can/must config the plugin it self in Jenkin > Configure with your appropriate user/password. Access token support will be added soon. 

          Dear Charlie

          I update the project with new feature that support access token. 

          Please build the project using the following command : mvn clean install 

          You are going to get the hpi file which then can be installed into Jenkin as Quality Gate Plugin.

          Best regards

          Pham Tien Thanh added a comment - Dear Charlie I update the project with new feature that support access token.  Please build the project using the following command : mvn clean install  You are going to get the hpi file which then can be installed into Jenkin as Quality Gate Plugin. Best regards

          atul dalvi added a comment -

          I am getting the same error
          quality.gates.jenkins.plugin.QGException: Expected status 200, got: 404. Response: {"errors":[\{"msg":"Unknown url : /api/events"}]}
          How can i solve this ?

          atul dalvi added a comment - I am getting the same error quality.gates.jenkins.plugin.QGException: Expected status 200, got: 404. Response: {"errors": [\{"msg":"Unknown url : /api/events"}] } How can i solve this ?

          Thomas O'Reilly added a comment - - edited

          I'm seeing the same error.

          According to sonarqube docs "api/events is removed, api/project_analyses/search should be used instead" From version 6.3

          https://docs.sonarqube.org/display/DEV/API+Changes

          Would need to update SONAR_API_GATE to something like "/api/project_analyses/search?project=%s"

          https://github.com/jenkinsci/quality-gates-plugin/blob/master/QualityGatesPlugin/src/main/java/quality/gates/sonar/api/SonarHttpRequester.java 

          Also not sure if response has changed, sample:

          {"paging":{"pageIndex":1,"pageSize":100,"total":8},"analyses":[{"key":"AV1l0sim_SE32WwMCM85","date":"2017-07-21T11:44:43-0400","events":[

          {"key":"AV1l0s3R_SE32WwMCM86","category":"VERSION","name":"not provided"}

          ]},{"key":"AV1lyy5a_SE32WwMCM80","date":"2017-07-21T11:36:31-0400","events":[]},{"key":"AV1lwh3E_SE32WwMCM8u","date":"2017-07-21T11:26:37-0400","events":[

          {"key":"AV1lwiB7_SE32WwMCM8v","category":"QUALITY_GATE","name":"Green (was Red)","description":""}

          ]},{"key":"AV1lvLgg_SE32WwMCM8d","date":"2017-07-21T11:20:41-0400","events":[]},{"key":"AV1lm-oa_SE32WwMCM8P","date":"2017-07-21T10:44:52-0400","events":[

          {"key":"AV1lm_Bf_SE32WwMCM8Q","category":"QUALITY_PROFILE","name":"Changes in 'Sonar way' (Java)"}

          ]},{"key":"AV1kpK1D_SE32WwMCM5R","date":"2017-07-21T06:14:50-0400","events":[

          {"key":"AV1kpLIp_SE32WwMCM5S","category":"QUALITY_GATE","name":"Red (was Green)","description":"Coverage < 99"}

          ]},{"key":"AV1koOhc_SE32WwMCM5M","date":"2017-07-21T06:10:42-0400","events":[]},{"key":"AV1knVTu_SE32WwMCMy_","date":"2017-07-21T06:06:37-0400","events":[]}]}

          Thomas O'Reilly added a comment - - edited I'm seeing the same error. According to sonarqube docs "api/events is removed, api/project_analyses/search should be used instead" From version 6.3 https://docs.sonarqube.org/display/DEV/API+Changes Would need to update  SONAR_API_GATE  to something like " /api/project_analyses/search?project= %s" https://github.com/jenkinsci/quality-gates-plugin/blob/master/QualityGatesPlugin/src/main/java/quality/gates/sonar/api/SonarHttpRequester.java   Also not sure if response has changed, sample: {"paging":{"pageIndex":1,"pageSize":100,"total":8},"analyses":[{"key":"AV1l0sim_SE32WwMCM85","date":"2017-07-21T11:44:43-0400","events":[ {"key":"AV1l0s3R_SE32WwMCM86","category":"VERSION","name":"not provided"} ]},{"key":"AV1lyy5a_SE32WwMCM80","date":"2017-07-21T11:36:31-0400","events":[]},{"key":"AV1lwh3E_SE32WwMCM8u","date":"2017-07-21T11:26:37-0400","events":[ {"key":"AV1lwiB7_SE32WwMCM8v","category":"QUALITY_GATE","name":"Green (was Red)","description":""} ]},{"key":"AV1lvLgg_SE32WwMCM8d","date":"2017-07-21T11:20:41-0400","events":[]},{"key":"AV1lm-oa_SE32WwMCM8P","date":"2017-07-21T10:44:52-0400","events":[ {"key":"AV1lm_Bf_SE32WwMCM8Q","category":"QUALITY_PROFILE","name":"Changes in 'Sonar way' (Java)"} ]},{"key":"AV1kpK1D_SE32WwMCM5R","date":"2017-07-21T06:14:50-0400","events":[ {"key":"AV1kpLIp_SE32WwMCM5S","category":"QUALITY_GATE","name":"Red (was Green)","description":"Coverage < 99"} ]},{"key":"AV1koOhc_SE32WwMCM5M","date":"2017-07-21T06:10:42-0400","events":[]},{"key":"AV1knVTu_SE32WwMCMy_","date":"2017-07-21T06:06:37-0400","events":[]}]}

          I'm still getting this error with this plugin, how do you resolve it?

           
          [INFO] CPD calculation finished
          [INFO] Analysis report generated in 1450ms, dir size=6 MB
          [INFO] Analysis reports compressed in 4020ms, zip size=2 MB
          [INFO] Analysis report uploaded in 697ms
          [INFO] ANALYSIS SUCCESSFUL, you can browse
          http://127.0.0.1:9000/dashboard?id=gov.hud.sams%3Asams-dal
          [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
          [INFO] More about the report processing at
          http://127.0.0.1:9000/api/ce/task?id=AWRCK0dIsYWP1iz76uNv
          [INFO] Task total time: 1:37.623 s
          [INFO] ------------------------------------------------------------------------
          [INFO] BUILD SUCCESS
          [INFO] ------------------------------------------------------------------------
          [INFO] Total time: 02:25 min
          [INFO] Finished at: 2018-06-27T12:54:52-04:00
          [INFO] ------------------------------------------------------------------------
          Waiting for Jenkins to finish collecting data
          [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/pom.xml to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73.pom
          [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/target/sams-dal.jar to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73.jar
          [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/target/sams-dal-tests.jar to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73-tests.jar
          channel stopped
          quality.gates.jenkins.plugin.QGException: Expected status 200, got: 404. Response: {"errors":[

          {"msg":"Unknown url : /api/events"}

          ]}
          at quality.gates.sonar.api.SonarHttpRequester.executeGetRequest(SonarHttpRequester.java:59)
          at quality.gates.sonar.api.SonarHttpRequester.getAPIInfo(SonarHttpRequester.java:47)
          at quality.gates.sonar.api.QualityGatesProvider.getRequesterResult(QualityGatesProvider.java:34)
          at quality.gates.sonar.api.QualityGatesProvider.getAPIResultsForQualityGates(QualityGatesProvider.java:29)
          at quality.gates.jenkins.plugin.BuildDecision.getStatus(BuildDecision.java:20)
          at quality.gates.jenkins.plugin.QGPublisher.perform(QGPublisher.java:73)
          at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
          at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
          at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
          at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
          at hudson.model.Run.execute(Run.java:1819)
          at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
          at hudson.model.ResourceController.execute(ResourceController.java:97)
          at hudson.model.Executor.run(Executor.java:429)
          Build step 'Quality Gates' marked build as failure
          Finished: FAILURE

          Richard Wolford added a comment - I'm still getting this error with this plugin, how do you resolve it?   [INFO] CPD calculation finished [INFO] Analysis report generated in 1450ms, dir size=6 MB [INFO] Analysis reports compressed in 4020ms, zip size=2 MB [INFO] Analysis report uploaded in 697ms [INFO] ANALYSIS SUCCESSFUL, you can browse http://127.0.0.1:9000/dashboard?id=gov.hud.sams%3Asams-dal [INFO] Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report [INFO] More about the report processing at http://127.0.0.1:9000/api/ce/task?id=AWRCK0dIsYWP1iz76uNv [INFO] Task total time: 1:37.623 s [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:25 min [INFO] Finished at: 2018-06-27T12:54:52-04:00 [INFO] ------------------------------------------------------------------------ Waiting for Jenkins to finish collecting data [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/pom.xml to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73.pom [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/target/sams-dal.jar to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73.jar [JENKINS] Archiving /var/lib/jenkins/workspace/TestMaven/target/sams-dal-tests.jar to gov.hud.sams/sams-dal/0.5.73/sams-dal-0.5.73-tests.jar channel stopped quality.gates.jenkins.plugin.QGException: Expected status 200, got: 404. Response: {"errors":[ {"msg":"Unknown url : /api/events"} ]} at quality.gates.sonar.api.SonarHttpRequester.executeGetRequest(SonarHttpRequester.java:59) at quality.gates.sonar.api.SonarHttpRequester.getAPIInfo(SonarHttpRequester.java:47) at quality.gates.sonar.api.QualityGatesProvider.getRequesterResult(QualityGatesProvider.java:34) at quality.gates.sonar.api.QualityGatesProvider.getAPIResultsForQualityGates(QualityGatesProvider.java:29) at quality.gates.jenkins.plugin.BuildDecision.getStatus(BuildDecision.java:20) at quality.gates.jenkins.plugin.QGPublisher.perform(QGPublisher.java:73) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635) at hudson.model.Run.execute(Run.java:1819) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Build step 'Quality Gates' marked build as failure Finished: FAILURE

            ivanash Ivana Sh
            t_yas1 Yasuhiro Takahashi
            Votes:
            8 Vote for this issue
            Watchers:
            12 Start watching this issue

              Created:
              Updated: