Jenkins - SonarQube Integration:Webhook 检索 403,在哪里可以找到日志?



我已经根据以下内容将SonarQube集成到构建管道中: SonarQube 文档

我正在使用SonarQube Scanner for Maven。 分析工作正常,从 Jenkins 到 SonarQube 的通信还可以。

为了在质量门失败时中断构建,我使用 waitForQualityGate() 如文档中所述。 这有效,但仅当我在其之前添加睡眠语句时。

看起来,SonarQube中的Webhook不起作用。 waitForQualityGate() 方法永远等待。

我在SonarQube中配置的Webhook看起来像这样:http://<my-jenkins>/jenkins/sonarqube-webhook/

我已经使用配置的 URL 使用 sonarqube 服务器的 curl 手动触发 webhook(我已经操纵了有效负载并添加了由 jenkins 中的构建作业创建的相关 taskId)。waitForQualityGate() 方法检索手动触发的 webhook,一切都按预期工作。

但是 SonarQube 无法将 webhook 请求发送给 Jenkins。

我使用SonarQube Api获取更多信息:http://<my-sonar-qube>/sonarqube/api/webhooks/deliveries?ceTaskId=<task-id>

在那里我可以看到,状态是"403"和"成功=假"。但是通过 curl 从 sonarqube 服务器调用完全相同的 url 会成功。

在哪些 Jenkins 和 SonarQube 日志文件中,我可以找到有关 webhook 请求/响应的详细信息?

詹金斯版本:2.89.2 声纳库比版本:6.7

less PATH_TO_YOUR_SONAR_LOGS/access.log | grep /api/ce/submit您应该看到来自声纳的触发器 - 永远不会更少不是呼叫本身:(

最新更新