这个文档介绍了将 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 和其他开发者一起交流。