Sonarqube:缺少“报告”参数

时间:2018-02-15 11:05:25

标签: windows msbuild sonarqube sonarqube-scan

我正在使用MSBuild。我安装了Java 8。

我正在运行以下命令:

SonarQube.Scanner.MSBuild.exe begin /k:"ABC" /d:sonar.host.url="http://localhost:9000"  /d:sonar.login="8b839xxxxxxxxxxxxxxxxxxxxxxx6b00125bf92"  /d:sonar.verbose=true

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\msbuild.exe" /t:rebuild

SonarQube.Scanner.MSBuild.exe end /d:sonar.login="8b839xxxxxxxxxxxxxxxxxxxxxxx6b00125bf92"

最后一步失败:

ERROR: Error during SonarQube Scanner execution
ERROR: The 'report' parameter is missing
ERROR:
ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
The SonarQube Scanner did not complete successfully
12:53:21.909  Creating a summary markdown file...
12:53:21.918  Post-processing failed. Exit code: 1

MSBuild版本大于14。

正确安装了Java 8。文档表明Java 8已足够。

  1. 关于什么可能出错的任何想法?
  2. 我在哪里添加-X开关?我尝试了所有3个陈述
  3. 更新:我安装了Java SDK 9.还是同样的问题。 更新:使用详细日志记录和使用/ n命名参数:

    INFO: Analysis report generated in 992ms, dir size=4 MB
    INFO: Analysis reports compressed in 549ms, zip size=1 MB
    INFO: Analysis report generated in C:\ABC\.sonarqube\out\.sonar\scanner-report
    DEBUG: Upload report
    DEBUG: POST 400 http://localhost:9000/api/ce/submit?projectKey=ABC | time=1023ms
    INFO: ------------------------------------------------------------------------
    INFO: EXECUTION FAILURE
    INFO: ------------------------------------------------------------------------
    INFO: Total time: 54.833s
    INFO: Final Memory: 51M/170M
    INFO: ------------------------------------------------------------------------
    DEBUG: Execution getVersion
    DEBUG: Execution stop
    ERROR: Error during SonarQube Scanner execution
    ERROR: The 'report' parameter is missing
    ERROR:
    ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging.
    Process returned exit code 1
    The SonarQube Scanner did not complete successfully
    Creating a summary markdown file...
    Post-processing failed. Exit code: 1
    

6 个答案:

答案 0 :(得分:2)

我在SonarQube中遇到了同样的问题,终于找到了解决方案: 使用评估令牌后,您需要重新启动声纳服务。

答案 1 :(得分:1)

就我而言,SonarQube 7.9.1(与 Helm 一起部署到 Kubernetes 集群)在 Helm 回滚后缺少临时目录 /opt/sonarqube/temp/tc/work/Tomcat/localhost/ROOT。不知道发生了什么。

SonarQube pod 内的日志文件 /opt/sonarqube/logs/web.log 出现此错误:

2021.02.02 06:57:03 WARN  web[AXdZ6l6MParQCncJACv3][o.s.s.w.ServletRequest] Can't read file part for parameter report
java.io.IOException: The temporary upload location [/opt/sonarqube/temp/tc/work/Tomcat/localhost/ROOT] is not valid

修复是执行到 pod 并创建丢失的目录。虽然想知道原因...

答案 2 :(得分:0)

请注意这不是答案,但我觉得这个反馈对于回答这个问题很有价值。

  1. 我可以在POSTMan中使用POST请求重现此问题:
  2. http://localhost:9000/api/ce/submit?projectKey=myProjectKey

    返回

    {
        "errors": [
            {
                "msg": "The 'report' parameter is missing"
            }
        ]
    }
    

    您可以通过删除projectKey查询参数来获得类似的错误。我尝试添加report查询参数并收到相同的错误:

    http://localhost:9000/api/ce/submit?projectKey=brian3016&report=report

    鉴于此,我觉得他们的代码存在问题。它应该在创建POST请求时包含一个报告参数,但它没有这样做。

    1. 详细输出似乎已从使用-X开关更改为/d:sonar.verbose=true。 E.G。
    2. SonarScanner.MSBuild.exe begin / k:“myProjectKey”/d:sonar.host.url="http://localhost:9000"/d:sonar.login="myLogin"/d:sonar.verbose=真

      请注意,详细记录并没有给我任何有价值的见解。

      (另请注意,文档目前说使用SonarQube.Scanner.MSBuild.exe,但详细记录器告诉我切换到SonarScanner.MSBuild.exe)

      1. 那么......我们如何向可以修复此问题的人报告此问题?他们的documentation说要去Stackoverflow。我们在这里。

      2. 我认为这可能是项目的一个问题。所以我创建了一个新项目,除了启动模板控制台应用程序。同样的错误。

答案 3 :(得分:0)

问题在于声纳服务正在启动。

首先尝试使用Ctrl + c停止SonarStart.bat,然后尝试打开localhost:9000(或您配置的声纳服务器端口)。

如果它仍在打开,则转到任务管理器并搜索wrapper.exe服务并停止该服务。如果找不到服务,请转到:

Task manager>Details> and stop all java.exe process. 

enter image description here

注意:如果您运行许多Java应用程序,请右键单击java.exe并选择goto服务,然后仅停止那些属于AppX Deployment.services的java.exe

现在以管理员身份启动sonarstart.bat。

enter image description here

答案 4 :(得分:0)

检查是否有足够的内存 例如:免费-m 就我而言,我必须升级内存。

答案 5 :(得分:0)

今天,当我使用詹金斯扫描代码时,我面临着同样的错误。 POST / api / ce / submit时获取错误,并通过添加sonar.verbose = true获得400代码 我使用以下步骤检查原因

  1. 首先重新启动声纳=>失败
  2. 使用“ du -sh”检查报告文件的大小为108m,并且DB服务器支持1G =>失败
  3. 登录sonar-qube服务器并检查access.log,web.log和另一个日志,最后找到错误原因“处理多部分/表单数据请求失败。设备上没有剩余空间”,因此我检查了服务器通过命令“ df -h”,某些设备的使用率为100%=>所以我删除了一些不使用的文件并进行了修复!!!