CircleCI Slack Orb и уведомления о статусе

Некоторое время я использую circleci, но я новичок в сферах. Как вы, возможно, знаете, circleci отключает свою текущую систему уведомлений 14 августа. В результате я был вынужден перейти на сферы. Я сомневаюсь, что уведомления о статусе для каждого задания с использованием circleci/[email protected]

Для ОДНОЙ работы я мог бы:

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/[email protected]
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

Буду признателен за вашу помощь, как за любой совет.


person Peter    schedule 12.08.2020    source источник


Ответы (1)


Также долгое время я был очень увлечен старой версией уведомлений Slack.

Я нашел это решение в старой версии CircleCI Orbs:

orbs:
  slack: circleci/[email protected].  # 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 - переменная среды CircleCI, настроенная на базовом входящем веб-перехватчике Slack (или даже на том, который у вас был со старой интеграцией Slack!)

NB: команда slack/status больше не доступна в последней версии сфер.

Это работает для нас, так как он отправляет статус задания в нашем канале #build только в Slack, с визуальной зеленой или красной полосой и ссылкой для посещения страницы ci в круге.

введите описание изображения здесь

person tsamaya    schedule 22.03.2021