Project Icon

slack-orb

优化CircleCI工作流程的Slack通知集成

Slack Orb是CircleCI的一个集成工具,旨在简化CI/CD流程中的Slack通知发送。该工具提供预设模板和自定义消息选项,支持基于分支或标签的通知过滤,并引入了Thread Messages功能以实现相关消息的线程化发送。Slack Orb 4.0版本优化了整体性能,使开发团队能更便捷地将Slack通知整合到CircleCI工作流程中。这种集成简化了开发团队在持续集成和持续部署过程中的沟通效率,有助于快速识别和响应构建或部署问题。

Slack Orb CircleCI 构建状态 CircleCI Orb 版本 GitHub 许可证 CircleCI 社区

使用 Slack Orb 4.0,更轻松地从 CircleCI 流程发送 Slack 通知

什么是 Orbs?

使用方法

设置

要在 CircleCI 上使用 Slack Orb,您需要创建一个 Slack 应用并提供 OAuth 令牌。在 wiki 中查找指南:如何设置 Slack orb

在配置中使用

有关完整使用指南,请参阅 Orb Registry 列表

模板

Slack Orb 提供了一些内置模板,可以帮助您快速入门,只需最少的设置。您可以使用内置模板或创建自己的模板。

模板预览模板描述
basic_success_1basic_success_1应与"pass"事件一起使用。
basic_fail_1basic_fail_1应与"fail"事件一起使用。
success_tagged_deploy_1success_tagged_deploy_1用于成功部署作业的事件。请参阅 orb 使用示例
basic_on_hold_1basic_on_hold_1用于挂起作业。请参阅 orb 使用示例

自定义消息模板

  1. 打开 Slack Block Kit Builder:https://app.slack.com/block-kit-builder/
  2. 设计您想要的通知消息。
  3. 将任何占位符值替换为 $ENV 环境变量字符串。
  4. 将生成的代码设置为 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
                }
              ]
            }
          ]
        }

常见问题解答

查看 wiki 中的常见问题解答

贡献

我们欢迎对此仓库提出 issuespull requests

如果您对这个或其他 orbs 有进一步的问题/评论,请访问 CircleCI 的 orbs 讨论论坛

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

问小白

问小白是一个基于 DeepSeek R1 模型的智能对话平台,专为用户提供高效、贴心的对话体验。实时在线,支持深度思考和联网搜索。免费不限次数,帮用户写作、创作、分析和规划,各种任务随时完成!

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

Trae

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号