我正在尝试使用带有属性文件或命令行参数的Sonar Scanner在SonarQube 5.6.5中设置泄漏期,但我没有成功。
我想将sonar.timemachine.period1
属性设置为特定版本,例如1.0.0
,如解决方案2(使用sonar-project.properties
)或解决方案3(使用命令行参数)一样,例如,-Dsonar.timemachine.period1=1.0.0
)Sonar runner, seeonly newly introduced issues的已接受答案。
以下是重现我的问题的方案。
sonar.projectVersion=1.0.0
运行分析。sonar.projectVersion=2.0.0
和sonar.timemachine.period1=1.0.0
运行分析。sonar.projectVersion=3.0.0
和sonar.timemachine.period1=1.0.0
运行分析。在第二次和第三次分析之后,我预计泄漏期为“自1.0.0
”(如果我将SonarQube管理部分中的泄漏期手动设置为1.0.0
,这是行为)。相反,对于第三次分析,泄漏期被设置为2.0.0
。
我错过了什么?这是一个错误吗?
答案 0 :(得分:2)
设置sonar.timemachine.period1
通过'普通'属性是不够的,您需要通过REST Api设置属性 - 请注意您需要管理员权限。
使用Sonarqube Ant Task时出现同样的问题并为此目的创建了一个macrodef
见:
Sonarqube Wep API documentation
Sonarqube set leak period to specific version other than previous version
答案 1 :(得分:1)
Rebse是正确的,您必须使用API来设置sonar.timemachine.period1
属性。我没有使用Ant。我使用了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