SonarQube:错误分支分析不能具有拉取请求分析参数“sonar.pullrequest.key”

Posted

技术标签:

【中文标题】SonarQube:错误分支分析不能具有拉取请求分析参数“sonar.pullrequest.key”【英文标题】:SonarQube: ERROR a branch analysis cannot have the pull request analysis parameter 'sonar.pullrequest.key' 【发布时间】:2021-12-29 07:07:55 【问题描述】:

我在 sonarqube.yml 的帮助下运行声纳扫描仪,这段代码是来自那里的 sn-p

  - name: Run sonarqube
    run: sonar-scanner
      -Dsonar.scm.provider=git
      -Dsonar.login=$ secrets.SONARQUBE_TOKEN 
      -Dsonar.pullrequest.key=$ github.event.number 
      -Dsonar.pullrequest.branch=$GITHUB_HEAD_REF#refs/heads/
      -Dsonar.pullrequest.base=$GITHUB_BASE_REF#refs/heads/
      -Dsonar.pullrequest.github.repository=$GITHUB_REPOSITORY
      -Dsonar.pullrequest.github.endpoint=$GITHUB_API_URL

创建合并请求后出错

    SonarQube 扫描仪版本 4.2.0.1873 SonarQube 服务器版本 9.0.1

我在执行日志中看到剩余的 -Dsonar.pullrequest.key= 等于未定义

Run sonar-scanner -Dsonar.scm.provider=git -Dsonar.login=***  -Dsonar.pullrequest.key= -Dsonar.pullrequest.branch=$GITHUB_HEAD_REF#refs/heads/ -Dsonar.pullrequest.base=$GITHUB_BASE_REF#refs/heads/ -Dsonar.pullrequest.github.repository=$GITHUB_REPOSITORY -Dsonar.pullrequest.github.endpoint=$GITHUB_API_URL

【问题讨论】:

【参考方案1】:

在将分支合并到 master 之后,它是提交,在这种情况下 $ github.event.number 它评估为 null 并且发生错误,所以我建议你在这种情况下使用 $github.sha即使你可以有条件

"-Dsonar.pullrequest.key=`if [ -z "$github.event.number"  ]; then echo $github.sha; else echo $github.event.number; fi`"
          

【讨论】:

以上是关于SonarQube:错误分支分析不能具有拉取请求分析参数“sonar.pullrequest.key”的主要内容,如果未能解决你的问题,请参考以下文章

在 Bitbucket 中创建拉取请求:错误“不相关的分支”

对拉取请求进行 Sonarqube 6.7.5 社区版评论

SonarQube学习入门指南

在 Azure DevOps 中对拉取请求运行选择性测试用例

Azure devops 拉取请求中的 Sonarqube Quality Gate 状态链接始终指向 localhost

jenkins集成sonarQube实现代码质量检查