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

org.sonarqube.ws.client.HttpException: Error 401 on http://192.168.0.106:9000/api/ce/task?id=AYTGxlU8BSWk-5W6wJUA :

      pipeline {
          agent any
          
          tools

      {         maven 'mvn-3.6.3'     }

          stages {
              stage('Code Analysis') {
                  steps {
                      withSonarQubeEnv('SonarQube')

      {                     bat  '''                       mvn clean verify sonar:sonar\                       -Dsonar.login=admin \                       -Dsonar.password=123456 \                       -Dsonar.projectKey=Java \                       -Dsonar.host.url=http://192.168.0.106:9000                   '''                 }

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

       

      ...

      Checking status of SonarQube task 'AYTGxlU8BSWk-5W6wJUA' on server 'SonarQube'
      [Pipeline] }
      [Pipeline] // timeout
      [Pipeline] }
      [Pipeline] // script
      [Pipeline] }
      [Pipeline] // withEnv
      [Pipeline] }
      [Pipeline] // stage
      [Pipeline] }
      [Pipeline] // withEnv
      [Pipeline] }
      [Pipeline] // node
      [Pipeline] End of Pipeline
      org.sonarqube.ws.client.HttpException: Error 401 on http://192.168.0.106:9000/api/ce/task?id=AYTGxlU8BSWk-5W6wJUA
          at hudson.plugins.sonar.client.HttpClient.getHttp(HttpClient.java:48)
          at hudson.plugins.sonar.client.WsClient.getCETask(WsClient.java:51)
          at org.sonarsource.scanner.jenkins.pipeline.WaitForQualityGateStep$Execution.checkTaskCompleted(WaitForQualityGateStep.java:240)
          at org.sonarsource.scanner.jenkins.pipeline.WaitForQualityGateStep$Execution.start(WaitForQualityGateStep.java:176)
          at org.jenkinsci.plugins.workflow.cps.DSL.invokeStep(DSL.java:322)
          at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:196)
          at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:124)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
          at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
          at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
          at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
          at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:41)
          at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
          at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
          at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:180)
          at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:23)
          at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:162)
          at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:178)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:182)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:152)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:152)
          at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:152)
          at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
          at WorkflowScript.run(WorkflowScript:27)
          at __cps.transform__(Native Method)
          at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:90)
          at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:116)
          at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixName(FunctionCallBlock.java:80)
          at jdk.internal.reflect.GeneratedMethodAccessor164.invoke(Unknown Source)
          at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.base/java.lang.reflect.Method.invoke(Method.java:566)
          at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
          at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
          at com.cloudbees.groovy.cps.Next.step(Next.java:83)
          at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:158)
          at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:152)
          at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:136)
          at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:275)
          at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:152)
          at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
          at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
          at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:187)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:420)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:95)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:330)
          at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:294)
          at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:139)
          at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:68)
          at jenkins.util.ErrorLoggingExecutorService.lambda$wrap$0(ErrorLoggingExecutorService.java:51)
          at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
          at java.base/java.lang.Thread.run(Thread.java:834)
      Finished: FAILURE

        1. image-2022-12-10-16-32-00-707.png
          84 kB
          penchal
        2. image-2022-12-10-16-28-44-379.png
          68 kB
          penchal
        3. image-2022-12-03-22-09-04-119.png
          33 kB
          penchal
        4. image-2022-12-02-17-21-07-361.png
          63 kB
          penchal
        5. 2-2.jpg
          69 kB
          Jerry
        6. 2-1.jpg
          69 kB
          Jerry
        7. 2.jpg
          47 kB
          Jerry
        8. 1-4.jpg
          53 kB
          Jerry
        9. 1-3.jpg
          54 kB
          Jerry
        10. 1-2.jpg
          200 kB
          Jerry
        11. 12.jpg
          69 kB
          Jerry
        12. 1-1.jpg
          54 kB
          Jerry
        13. 11.jpg
          53 kB
          Jerry
        14. 1.jpg
          39 kB
          Jerry

          [JENKINS-70177] org.sonarqube.ws.client.HttpException: Error 401 on http://192.168.0.106:9000/api/ce/task?id=AYTGxlU8BSWk-5W6wJUA :

          penchal added a comment -

          error 401 is definitely a permission issue.

          recheck permissions for the user you mentioned in the pipeline.

          login to sonarqube > Administration > Configuration > General Settings

           

           

          penchal added a comment - error 401 is definitely a permission issue. recheck permissions for the user you mentioned in the pipeline. login to sonarqube > Administration > Configuration > General Settings    

          penchal added a comment -

          is it same project?

          i assume there are two sonarqube servers as you saying one is running on psql and other is running on sql

          penchal added a comment - is it same project? i assume there are two sonarqube servers as you saying one is running on psql and other is running on sql

          penchal added a comment -

          you are using waitForQualityGate() step, it expects token and that token you define in Jenkins Dashboard -> Manage Jenkins ->Configure System ->Server authentication token  no need to provide username, password and token in pipeline.

          If you have multiple sonar instances you can add sonarqube server and auth token details here Jenkins Dashboard -> Manage Jenkins ->Configure System

          penchal added a comment - you are using waitForQualityGate() step, it expects token and that token you define in Jenkins Dashboard -> Manage Jenkins ->Configure System ->Server authentication token   no need to provide username, password and token in pipeline. If you have multiple sonar instances you can add sonarqube server and auth token details here Jenkins Dashboard -> Manage Jenkins ->Configure System

          Jerry added a comment -

          I double  chec k the problem, but get the same issue at the windows 10 with SQL Server 2016. and you can refer to:

                  It was a firewall issue. Communication from Jenkins to SonarQube server was opened but not the other way round. This issue can be closed. 

           

          Jerry added a comment - I double  chec k the problem, but get the same issue at the windows 10 with SQL Server 2016. and you can refer to: https://www.656463.com/wenda/SonarQubewaitForQualityGatefh401_304 https://cloud.tencent.com/developer/ask/sof/668005 https://stackoverflow.com/questions/60741726/org-sonarqube-ws-client-httpexception-error-401 https://cloud.tencent.com/developer/ask/sof/1288935/answer/1781673         It was a firewall issue. Communication from Jenkins to SonarQube server was opened but not the other way round. This issue can be closed.  https://www.mianshigee.com/question/109622lfz/  

          penchal added a comment - - edited

          Okay, have you found the solution?

          penchal added a comment - - edited Okay, have you found the solution?

          Jerry added a comment -

          I can't find the  solution, It's a bug

          Jerry added a comment - I can't find the  solution, It's a bug

          Jerry added a comment -

          how can I do using sonar-scanner, It mast add sonar.login and sonar.password? , it give org.sonarqube.ws.client.HttpException: Error 403 on http://192.168.0.123:9000/api/ce/task?id=AYTw1iOlEtD72hHE5js0 : {"errors":[

          {"msg":"Insufficient privileges"}

          ]}

          pipeline {
              agent any
              
              tools

          {         maven 'mvn-3.6.3'     }

              
              stages{
                      stage("Build"){
                          steps{
                               withPythonEnv("C:\\Users\\xiang\\AppData\\Local\\Programs\\Python\\Python38
          ")

          {                            bat "del /F /S /Q allure-results"                            bat "pytest -s -v --alluredir ./allure-results"                            bat "winrar.exe a report.zip ./allure-results"                      }

                          }
                      }
                      stage('Code Analysis'){
                          steps{
                              withSonarQubeEnv('SonarQube')

          {                         bat  '''                             sonar-scanner \                             -D"sonar.projectKey=Python" \                             -D"sonar.sources=." \                             -D"sonar.host.url=http://192.168.0.106:9000" \                             -D"sonar.login=admin" \                             -D"sonar.password =123456"                         '''                     }

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

          {                 allure([                     includeProperties:false,                     jdk:'',                     properties: [],                     reportBuildPolicy:'ALWAYS',                     results: [[path: 'allure-results']]                 ])             }

                  }
              }
          }

          Jerry added a comment - how can I do using sonar-scanner, It mast add sonar.login and sonar.password? , it give org.sonarqube.ws.client.HttpException: Error 403 on http://192.168.0.123:9000/api/ce/task?id=AYTw1iOlEtD72hHE5js0 : {"errors":[ {"msg":"Insufficient privileges"} ]} pipeline {     agent any          tools {         maven 'mvn-3.6.3'     }          stages{             stage("Build"){                 steps{                      withPythonEnv("C:\\Users\\xiang\\AppData\\Local\\Programs\\Python\\Python38 ") {                            bat "del /F /S /Q allure-results"                            bat "pytest -s -v --alluredir ./allure-results"                            bat "winrar.exe a report.zip ./allure-results"                      }                 }             }             stage('Code Analysis'){                 steps{                     withSonarQubeEnv('SonarQube') {                         bat  '''                             sonar-scanner \                             -D"sonar.projectKey=Python" \                             -D"sonar.sources=." \                             -D"sonar.host.url=http://192.168.0.106:9000" \                             -D"sonar.login=admin" \                             -D"sonar.password =123456"                         '''                     }                 }             }             stage('Quality Gate'){                      steps{                         script {                             timeout(time:1,unit:'HOURS'){                                 sleep(5)                                 def qg = waitForQualityGate()                                 if (qg.status != 'OK') {                                     echo "Status: ${qg.status}"                                     error "Pipeline aborted due to quality gate failure: ${qg.status}"                                 }                             }                         }                      }                 }         }     post{         always{             script {                 allure([                     includeProperties:false,                     jdk:'',                     properties: [],                     reportBuildPolicy:'ALWAYS',                     results: [[path: 'allure-results']]                 ])             }         }     } }

          penchal added a comment - - edited

          guxiang 

          If you have configured sonarqube details and authentication token  in manage jenkins --> system configuration  then no to pass username and password details in pipeline

          penchal added a comment - - edited guxiang   If you have configured sonarqube details and authentication token  in manage jenkins --> system configuration  then no to pass username and password details in pipeline

          penchal added a comment -

          Also check permission level for the user you are trying to get QG status

          penchal added a comment - Also check permission level for the user you are trying to get QG status

          Jerry added a comment -

          Jerry added a comment -

            cizezsy Shenyu Zheng
            guxiang Jerry
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: