首页 > 解决方案 > CircleCI Slack Orb 和状态通知

问题描述

我一直在使用circleci,但我是新手。如您所知,circleci将于 8 月 14 日禁用其当前的通知系统。结果,我被迫转移到球体。我的疑问是关于每个工作的状态通知使用circleci/slack@x.y.z

对于一个单一的工作,我可以做:

jobs:
  build:
    docker:
      - image: <docker image>
    steps:
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook
orbs:
  slack: circleci/slack@x.y.z
version: 2.1
workflows:
  your-workflow:
    jobs:
      - build

但是,多个工作会发生什么。有没有办法避免代码重复,在每个作业步骤下重复- slack/notify:

我想避免以下情况

jobs:
  build:
    docker:
      - image: <docker image>
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook
  test:
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook

  lint:
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,USERID2,'
          message: This is a custom message notification
          webhook: webhook

我将感谢您的帮助作为任何建议。

标签: circlecicircleci-2.0

解决方案


我也是一个长期用户,我非常热衷于旧版本的 slack 通知。

我用旧版本的 CircleCI Orbs 找到了这个解决方案:

orbs:
  slack: circleci/slack@3.4.2.  # version is important

jobs:
  build-and-test:
    docker:
      - image: cimg/node:14.16
    steps:
      - checkout
[...]
      - slack/status:
          fail_only: false
          webhook: $SLACK_WEBHOOK

$SLACK_WEBHOOK基本的 slack 传入 webhook 上配置的 CircleCI 环境变量在哪里(甚至是您以前使用旧的 slack 集成的那个!)

注意:该slack/status命令在最新版本的球体上不再可用。

它对我们有用,因为它只在 slack 上的 #build 频道中发送工作状态,带有可视的绿色或红色条以及访问 circle ci 页面的链接

在此处输入图像描述


推荐阅读