从配置或命令行设置 sonar.timemachine.period1 是否有效?

Does setting sonar.timemachine.period1 from config or command line work?

我试图在 SonarQube 5.6.5 中使用 Sonar Scanner 和属性文件或命令行参数设置泄漏周期,但我没有成功。

我想将 sonar.timemachine.period1 属性 设置为特定版本,例如 1.0.0,如解决方案 2(使用 sonar-project.properties)或解决方案中所述.

的已接受答案的 3(使用命令行参数,例如 -Dsonar.timemachine.period1=1.0.0

这是重现我的问题的场景。

  1. 运行 分析 sonar.projectVersion=1.0.0.
  2. 运行 分析 sonar.projectVersion=2.0.0sonar.timemachine.period1=1.0.0.
  3. 运行 分析 sonar.projectVersion=3.0.0sonar.timemachine.period1=1.0.0.

在第二次和第三次分析后,我预计泄漏周期为 "since 1.0.0"(如果我在 SonarQube 管理部分中手动将泄漏周期设置为 1.0.0,则会出现这种情况)。相反,对于第三次分析,泄漏周期被设置为 2.0.0.

我错过了什么?这是一个错误吗?

通过 'normal' 属性 设置 sonar.timemachine.period1 是不够的,您需要通过 REST Api 设置属性 - 注意您需要管理员权限。
使用 Sonarqube Ant Task 时遇到同样的问题并为此目的创建了一个 macrodef。
参见:
Sonarqube Wep API documentation

Rebse是正确的,你必须使用API设置sonar.timemachine.period1属性。我没有使用蚂蚁。我使用了来自 Bamboo 的 curl 命令。

curl
-X POST 
-u MY_USERNAME:MY_PASSWORD 
-d resource=MY_PROJECT_KEY
-d id=sonar.timemachine.period1 
-d value=1.0.0
http://localhost:9000/api/properties