首页 > 解决方案 > 在詹金斯拉取请求构建器作业中获取源分支名称的正确方法是什么

问题描述

我想在 Jenkins 拉取请求构建器上的 sonarqube 上使用分支分析功能。

我的存储库有一个 sonar.gradle 文件。如果我设置属性 sonar.branch.name = "featurebranch" 和 sonar.branch.target = "master" 并创建一个 PR,我看到 featurebranch 的 sonarqube 分析已更新

我想使用环境变量 ghprbSourceBranch (根据链接可用作环境变量)并且 set property sonar.branch.name = $ghprbSourceBranch in sonar.gradle file 我的 PR 构建失败,sonar.gradle 文件中的这行代码

property "sonar.branch.name", $ghprbSourceBranch

我尝试了以下方法,但它们也失败了

property "sonar.branch.name", ${ghprbSourceBranch}

property "sonar.branch.name", ${env.ghprbSourceBranch} property "sonar.branch.name", System.getenv("CHANGE_BRANCH") property "sonar.branch.name", System.getenv("TARGET_BRANCH") property "sonar.branch.name", System.getenv("BRANCH_NAME")

标签: jenkinssonarqubeenvironment-variables

解决方案


我在 Jenkins 中使用带有以下参数的Sonar Enterprise 7.9的 Pull-Request 分析功能,但使用 Sonar CLI 运行扫描:

sonar.pullrequest.key=${env.CHANGE_ID}
sonar.pullrequest.base=${env.CHANGE_TARGET}
sonar.pullrequest.branch=${env.CHANGE_BRANCH}

公关装修必备SonarCloud 扫描仪 Github App

sonar.pullrequest.provider=GitHub
sonar.pullrequest.github.repository=yourOrg/yourRepo

另请参阅声纳文档


推荐阅读