在Spinnaker中配置Slack警报

时间:2019-03-26 21:57:04

标签: slack spinnaker

大三角帆管道发生故障时,我们可以看到以下内容:

Spinnaker Alerts Bot APP [3:24 PM]
Stage failed for APP_NAME
Stage STAGE_NAME for APP_NAME's PIPELINE_NAME has failed

OTHER STUFF FROM NOTIFICATION CONFIG PANEL OF STAGE

Spinnaker   Today at 3:24 PM

配置“ OTHER STUFF”很容易,但是前三行又如何,可能在服务器的配置文件中没有在Spinnaker UI中看到这样做的位置?

2 个答案:

答案 0 :(得分:1)

未记录,但是如果您编辑通知的JSON,则可以添加一个customMessage字段,该字段将覆盖默认的三行消息。

例如,将阶段JSON中的notifications字段更改为:

"notifications": [
    {
      "address": "my-slack-channel",
      "customMessage": "this will replace all three of the standard message lines, and can contain HTML",
      "level": "stage",
      "type": "slack",
      "when": [
        "stage.failed"
      ]
    }
  ]

您会看到:

Spinnaker Alerts Bot APP [3:24 PM]
this will replace all three of the standard message lines, and can contain HTML

Spinnaker   Today at 3:24 PM

答案 1 :(得分:0)

这是Spinnaker的最新版本1.16.5的更新:自定义消息对于每种通知类型(开始,失败,完成)都是可编辑的。似乎您不能在其中放入html,但可以放入标记。我不知道这篇文章的内容是在什么版本的大三角帆上实现的,我只知道它适用于1.16.5。

配置了其中一个管道以使用Notification之后,您也可以将通知的JSON复制到其他管道,以轻松地对其进行相同的配置(或作为起点)。

所以对于Slack通知,我具有以下JSON,请注意所使用的管道参数及其粗体标记:

  "notifications": [
    {
      "address": "spinnaker-notifications",
      "level": "pipeline",
      "message": {
        "pipeline.failed": {
          "text": "SERVICE_NAME: *${ parameters['SERVICE_NAME'] }*\nSERVICE_VERSION: *${ parameters['SERVICE_VERSION'] }*"
        },
        "pipeline.starting": {
          "text": "SERVICE_NAME: *${ parameters['SERVICE_NAME'] }*\nSERVICE_VERSION: ${ parameters['SERVICE_VERSION'] }"
        }
      },
      "type": "slack",
      "when": [
        "pipeline.failed"
      ]
    }
  ],

通过“通知”对话框可以轻松配置消息文本,仅JSON包含嵌入式\ n等。