根据此我已将SonarQube集成到构建管道中:SonarQube Documentation
我正在将SonarQube扫描仪用于Maven。分析工作正常,从詹金斯到SonarQube的通信还可以。
要在质量门失败时中断构建,请按照文档中的说明使用waitForQualityGate()。这有效,但仅当我在其之前添加睡眠语句时才可以。
似乎,SonarQube中的Webhook无法正常工作。waitForQualityGate()方法将永远等待。
我在SonarQube中配置的Webhook看起来像这样:http://<my-jenkins>/jenkins/sonarqube-webhook/
我已经使用配置的Url来使用声纳服务器上的curl手动触发webhook(我已经操纵了有效负载并添加了由詹金斯中的构建作业创建的相关taskId)。 waitForQualityGate()方法检索手动触发的Webhook,一切正常。
但是SonarQube无法将Webhook请求发送给Jenkins。
我使用SonarQube Api获得更多信息:http://<my-sonar-qube>/sonarqube/api/webhooks/deliveries?ceTaskId=<task-id>
我可以看到,状态为'403'和'success = false'。但是通过curl从声纳服务器中调用完全相同的URL会成功。
我可以在哪个Jenkins和SonarQube日志文件中找到有关Webhook请求/响应的详细信息?
Jenkins版本:2.89.2SonarQube版本:6.7