Slack Orb
使用 Slack Orb 4.0,更轻松地从 CircleCI 流程发送 Slack 通知
使用方法
设置
要在 CircleCI 上使用 Slack Orb,您需要创建一个 Slack 应用并提供 OAuth 令牌。在 wiki 中查找指南:如何设置 Slack orb
在配置中使用
有关完整使用指南,请参阅 Orb Registry 列表。
模板
Slack Orb 提供了一些内置模板,可以帮助您快速入门,只需最少的设置。您可以使用内置模板或创建自己的模板。
模板预览 | 模板 | 描述 |
---|---|---|
basic_success_1 | 应与"pass"事件一起使用。 | |
basic_fail_1 | 应与"fail"事件一起使用。 | |
success_tagged_deploy_1 | 用于成功部署作业的事件。请参阅 orb 使用示例 | |
basic_on_hold_1 | 用于挂起作业。请参阅 orb 使用示例 |
自定义消息模板
- 打开 Slack Block Kit Builder:https://app.slack.com/block-kit-builder/
- 设计您想要的通知消息。
- 将任何占位符值替换为 $ENV 环境变量字符串。
- 将生成的代码设置为
custom
参数的值。
- slack/notify:
event: always
custom: |
{
"blocks": [
{
"type": "section",
"fields": [
{
"type": "plain_text",
"text": "*这是一条文本通知*",
"emoji": true
}
]
}
]
}
分支或标签过滤
使用"branch_pattern"或"tag_pattern"参数将 Slack 通知限制为特定分支。
用逗号分隔的正则表达式可匹配的分支或标签名称列表。只有从这些分支/标签的作业发送的通知才会被发送。默认情况下,将使用".+"来匹配所有分支/标签。模式必须匹配完整字符串,不允许部分匹配。请注意,"branch_pattern"和"tag_pattern"是互斥的。
请参阅使用示例。
线程消息
使用特殊参数 thread_id
在线程中发布回复。在 notify
命令引用中包含此参数会将消息的 ID 存储在缓存中的一小部分字节中。随后使用相同 thread_id
值调用该命令将在线程中对初始消息发布回复。示例:
- slack/notify:
event: always
channel: engineering
thread_id: testing
custom: |
{
"blocks": [
{
"type": "section",
"fields": [
{
"type": "plain_text",
"text": "*测试已开始。*",
"emoji": true
}
]
}
]
}
- slack/notify:
event: always
channel: engineering
thread_id: testing
custom: |
{
"blocks": [
{
"type": "section",
"fields": [
{
"type": "plain_text",
"text": "*测试已完成。*",
"emoji": true
}
]
}
]
}
常见问题解答
贡献
我们欢迎对此仓库提出 issues 和 pull requests!
如果您对这个或其他 orbs 有进一步的问题/评论,请访问 CircleCI 的 orbs 讨论论坛。