【问题标题】:Does setting sonar.timemachine.period1 from config or command line work?从配置或命令行设置 sonar.timemachine.period1 是否有效?
【发布时间】:2017-03-03 04:29:53
【问题描述】:

我正在尝试使用带有属性文件或命令行参数的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 接受的答案。

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

  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 运行分析。

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

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

【问题讨论】:

    标签: sonarqube sonar-runner sonarqube-scan


    【解决方案1】:

    通过“普通”属性设置 sonar.timemachine.period1 是不够的,您需要通过 REST Api 设置属性 - 请注意,您需要管理员权限。
    在使用 Sonarqube Ant 任务时遇到了同样的问题,并为此创建了一个宏定义。
    见:
    Sonarqube Wep API documentation
    Sonarqube set leak period to specific version other than previous version

    【讨论】:

    【解决方案2】:

    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
    

    【讨论】:

    • 您可以创建一个 usertoken - 查看我的帐户/安全性 - 并使用 -u usertoken: 而不是 username:password,表示 usertoken 后跟分隔符:和空密码。
    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2021-02-16
    相关资源
    最近更新 更多