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,'
          message: This is a custom message notification
          webhook: webhook
  test:
    steps:
      - checkout
      - slack/notify:
          channel: CHANNELID
          color: '#42e2f4'
          mentions: 'USERID1,'
          message: This is a custom message notification
          webhook: webhook

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

如果有任何建议,我将不胜感激。

解决方法

也是一个长期用户,我真的很喜欢旧版本的 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 命令不再适用于最新版本的球体。

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

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...