发送到 Slack Messages

这个文档介绍了将 Slack 插件整合到构建工作流中的步骤。请查看插件市场了解所有通知插件以及详细文档。

发送 Slack 通知的配置示例:

pipeline:
  slack:
    image: plugins/slack
    channel: dev
    webhook: https://hooks.slack.com/services/...

注意,工作流在遇到错误时会立即退出,这意味着如果在 Slack 插件之前的步骤发生了错误, Slack 插件将不会执行。可以使用下面的 yaml 配置来修改这个默认行为。

pipeline:
  slack:
    image: plugins/slack
    channel: dev
    webhook: https://hooks.slack.com/services/...
+   when:
+     status: [ success, failure ]

使用密钥

在之前的 yaml 配置中,我们将 webhook 以明文的方式保存。为了避免在 yaml 文件中保存敏感信息,我们推荐使用密钥的方式保存对应信息。

将 webhook 添加为密钥。

drone secret add \
  -repository <repo> \
  -name slack_webhook \
  -image plugins/slack \
  -value https://hooks.slack.com/services/...

访问密钥获得对应 webhook 的示例:

pipeline:
  slack:
    image: plugins/slack
    channel: dev
-   webhook: https://hooks.slack.com/services/...
+   secrets: [ slack_webhook ]

考虑到安全因素,默认合并请求(pull request)不能访问密钥。如果您希望为合并请求到构建能够发送 Slack 通知,您可以修改这一默认设置。

drone secret add \
  -repository <repo> \
  -name slack_webhook \
  -image plugins/slack \
+ -event push \
+ -event pull_request \
  -value https://hooks.slack.com/services/...

遇到了问题?

我们非常乐意帮助您解决遇到的问题。 您可以先搜索对应文档,查看一些常见的问题。 您还可以地在 discourse 和其他开发者一起交流。

这个网页有没有错误? 请让我们知道 或编辑 这个页面