SonarQube 不会向 Discord webhook 发送通知

SonarQube doesn't send notification to Discord webhook

我希望在 sonarqube 中完成每次扫描后在我的 discord 应用程序上收到通知。我已尝试在 sonarqube webhook 选项中配置我的 discord webhook URL,但它在扫描代码且未发送通知后收到 400 错误代码。

我尝试的步骤:

  1. 从我的 discord 频道创建了 webhook URL。
  2. sonarqube > Administration > Configuration > Webhooks 中配置了 webhook URL。
  3. 运行 代码扫描以便它向配置的 webhook 发送通知。

但是我遇到了以下错误。

Error :

Last delivery of Spidey Bot

Response: 400
Duration: 186ms
Payload: .....

Discord webohook screenshot attached

SonarQube Error screenshot attached

事实证明,SonarQube 发送给 Discord 的请求正文格式是不可接受的。它会导致错误的请求错误。以下是来自 Discord 的记录回复,

{ "message": "Cannot send an empty message", "code": 50006 }

要成功 post 消息必须采用记录的特定格式 https://discordapp.com/developers/docs/resources/webhook#execute-webhook

对此的解决方案可能是中介 URL,它解析请求正文并使用异常正文参数命中 Discord Webhook。