【问题标题】:How to get taskid that "waitForQualityGate()" is going to check for?如何获取“waitForQualityGate()”要检查的 taskid?
【发布时间】:2020-12-16 19:10:24
【问题描述】:

对于从 sonarsource 复制我的帖子,我深表歉意,但有时这会吸引不同的受众。

我们正在使用 SonarQube 7.9.2。

我们的 Jenkins 构建使用管道步骤“withSonarQubeEnv”和“waitForQualityGate”,在这之间我们使用“mvn sonar:sonar”来运行扫描。在后者结束时,它会在“waitForQualityGate”中打印将要等待的任务 ID。它还在该步骤的结果中显示任务 ID。

我可以在“mvn sonar:sonar”和“waitForQualityGate”之间执行哪些 WebApi 调用,以便将要轮询的任务 ID 存储到变量中?我当时知道项目的关键。那时我已经检查了范围内的所有环境变量。

我知道如何找到 WebApi 文档,并且我已经浏览了我认为的相关操作,但我无法弄清楚我需要哪个操作来完成这个特定的“任务”。

【问题讨论】:

    标签: jenkins groovy sonarqube


    【解决方案1】:

    当您运行 mvn sonar:sonar 时,report-task.txt 将在工作区文件夹 .scannerwork 中创建。

    您将在 report-task.txt 中获得 ceTaskUrlceTaskId。现在,您可以使用该 ceTaskUrl 来获取 analysisId

    您可以使用下面的 api 通过 analysisId 获取质量门状态。

    https://localhost:9000/sonarqube/api/qualitygates/project_status?analysisId=$ANALYSIS_ID"

    【讨论】:

    • 实际上,文件的位置取决于生成它的工具。 “mvn sonar:sonar”任务默认为“target/sonar”。此位置由“sonar.scanner.metadataFilePath”属性控制。
    • 太棒了。谢谢。
    • @DavidM.Karr 在声纳文档中找不到此信息,谢谢
    猜你喜欢
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    相关资源
    最近更新 更多