2.85.1 • Published 1 year ago

@lskjs/bots-plugin-notify v2.85.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

LSK.js – bots-plugin-notify

@lskjs/bots-plugin-notify – LSK.js plugin for @lskjs/bots module for telegram, slack, discord, whatsapp, twitter, instagram and vk bots creation

LSK logo NPM version NPM downloads NPM Dependency count Have TypeScript types Have tree shaking NPM Package size Package size Ask us in Telegram


Table of contents

⌨️ Install

# yarn
yarn i @lskjs/bots-plugin-notify bluebird lodash

# npm
npm i @lskjs/bots-plugin-notify bluebird lodash

Bots Plugin Notify

Bots Plugin Notify (@lskjs/bots-plugin-notify) - плагин, позволяющий настраивать мониторинг ресурсов с уведомлениями в telegram/slack через алерт-менеджер.

Api Query Params

ParamTypeRequiredDefaultDescription
textStringAny text
mdStringAny text with markdown mode
projectNameString_defaultProject name from env
secretStringChat secret key from env

Env & Preferences

Конфиг плагина находится по пути bots.plugins.notify и имеет вид:

bots: {
  plugins: {
    notify: {
      cron: '* * * * *',
      projects: {
        //...
      },
    },
  },
},

Params:

FieldTypeDefaultDesription
cronArray of String/String'* * * * *'Таймер
projectsObject of ObjectsОбъект проектов, которые выполняет бот при срабатывании крона или запроса на Api

Таймер (cron)

Параметр позволяет устанавливать время срабатывания действия бота. Например, если необходимо производить мониторинг ресурса каждую минуту, то конфиг будет выглядеть cron: '* * * * *'.

Официальный пакет крона: node-cron - npm

Проекты (projects)

Проекты позволяют устанавливать мониторинг ресурсов, отправку сообщений и алерт-менеджер. Ключ, по которому располагается проект в конфиге - название проекта. В случае, когда алерт-менеджер не находит необходимый проект, срабатывает _default проект. Его реализация является обязательной.

Проекты состоят из нескольких частей: | Rule Part | Type | Description | | ------ | :------: | ------ | | telegram | Array of Number\Array of String\Number\String | ID чатов, в которые будет отправлено сообщение | | slack | Array of String\String | URL хуков, в которые будет отправлено сообщение | | monitoring | Array of Objects | Массив объектов, в которых хранятся url для мониторинга ресурсов. Если ресурс не отвечает, то ошибка отправляется в чаты slack/telegram | | secret | String | Секретный ключ для приватных ресурсов | | github | Objects | Настройка алерт-менеджера для гитхаба. Позволяет устанавливать, о каких событиях уведомлять | | gitlab | Objects | Настройка алерт-менеджера для гитлаба. Позволяет устанавливать, о каких событиях уведомлять |

Чтобы отправить какое-то сообщение в бота через алерт-менеджер: https://YOUR_DOMAIN/notify?projectName=TestName&text=Test Message Text.

Examples:

_default

bots: {
  plugins: {
    notify: {
      projects: {
        _default: {
          telegram: [
            telegram.chat1,
          ],
          slack: [
            slack.chat2,
          ],
        },
      },
    },
  },
}

monitoring

bots: {
  plugins: {
    notify: {
      projects: {
        monitor_project: {
          telegram: [
            telegram.chat1,
          ],
          slack: [
            slack.chat1,
          ],
          monitoring: [
            {
              url: 'MONITORING_URL',
            },
          ],
        },
      },
    },
  },
}

github / gitlab alert-managers

bots: {
  plugins: {
    notify: {
      projects: {
        test_gitlab: {
          secret: 'secret',
          telegram: [
            telegram.chat1,
          ],
          slack: [
            slack.chat1,
          ],
          gitlab: {
            pipline: true,
            pipline__success: true,
            pipline__pending: false,
            pipline__failed: true,
            pipline__canceled: true,
            pipline__created: false,
            pipline__running: false,
            push: true,
            merge_request: true,
          },
        },
        test_github: {
          secret: 'secret',
          telegram: [
            telegram.chat1,
          ],
          slack: [
            slack.chat1,
          ],
          github: {
            pipline: true,
            pipline__success: true,
            pipline__pending: false,
            pipline__failed: true,
            pipline__canceled: true,
            pipline__created: false,
            pipline__running: false,
            push: true,
            merge_request: true,
          },
        },
      },
    },
  },
}

📖 License

This project is licensed under the MIT License - see the LICENSE file for details

👥 Contributors

👏 Contributing

  1. Fork it (https://github.com/yourname/yourproject/fork)
  2. Create your feature branch (git checkout -b features/fooBar)
  3. Commit your changes (git commit -am 'feat(image): Add some fooBar')
  4. Push to the branch (git push origin feature/fooBar)
  5. Create a new Pull Request

📮 Any questions? Always welcome :)

2.88.1

1 year ago

2.85.0

1 year ago

2.85.1

1 year ago

2.84.12

1 year ago

2.84.9

2 years ago

2.84.8

2 years ago

2.84.6

2 years ago

2.84.10

2 years ago

2.84.11

2 years ago

2.84.5

2 years ago

2.84.4

2 years ago

2.84.3

2 years ago

2.84.2

2 years ago

2.76.0

2 years ago

2.72.0

2 years ago

2.75.1

2 years ago

2.74.0

2 years ago

2.70.0

2 years ago

2.73.0

2 years ago

2.69.1

2 years ago

2.64.0

2 years ago

2.64.1

2 years ago

2.67.0

2 years ago

2.63.0

2 years ago

2.67.3

2 years ago

2.66.0

2 years ago

2.66.1

2 years ago

2.65.0

2 years ago

2.65.1

2 years ago

2.57.0

2 years ago

2.59.0

2 years ago

2.60.1

2 years ago

2.62.0

2 years ago

2.49.0

2 years ago

2.56.0

2 years ago

2.52.0

2 years ago

2.61.0

2 years ago

2.46.0

3 years ago

2.48.0

2 years ago

2.48.1

2 years ago

2.44.0

3 years ago

2.43.0

3 years ago

2.34.0

3 years ago

2.38.0

3 years ago

2.36.1

3 years ago

2.41.0

3 years ago

2.39.1

3 years ago

2.39.0

3 years ago

2.35.0

3 years ago

2.37.0

3 years ago

2.42.1

3 years ago

2.42.0

3 years ago

2.42.3

3 years ago

2.42.2

3 years ago

2.40.0

3 years ago

2.32.1

3 years ago

2.33.1

3 years ago

2.33.0

3 years ago

2.29.0

3 years ago

2.30.1

3 years ago

2.30.0

3 years ago

2.28.0

3 years ago

2.27.0

3 years ago

2.26.0

3 years ago

2.25.0

3 years ago

2.24.0

3 years ago

2.23.6

3 years ago

2.23.5

3 years ago

2.23.4

3 years ago

2.23.2

3 years ago

2.23.0

3 years ago

2.22.1

3 years ago

2.19.1

3 years ago

2.17.0

3 years ago

2.22.0

3 years ago

2.18.0

3 years ago

2.21.0

3 years ago

2.12.3

3 years ago

2.13.0

3 years ago

2.12.0

3 years ago

2.10.2

3 years ago

2.9.1

3 years ago

2.9.0

3 years ago

2.8.0

3 years ago

2.8.4

3 years ago

2.7.0

3 years ago

2.6.1

3 years ago

2.5.2

3 years ago

2.6.0

3 years ago

2.5.1

3 years ago

2.5.3

3 years ago

2.5.0

3 years ago

2.3.0-beta.99

3 years ago

2.3.0-beta.94

3 years ago

2.3.0-beta.95

3 years ago

2.3.0-beta.90

3 years ago

2.3.0-beta.92

3 years ago

2.3.0-beta.91

3 years ago

2.3.0-beta.87

3 years ago

2.3.0-beta.86

3 years ago

2.3.0-beta.89

3 years ago

2.3.0-beta.88

3 years ago

2.3.0-beta.85

3 years ago

2.3.0-beta.83

3 years ago

2.3.0-beta.82

3 years ago

2.3.0-beta.84

3 years ago

2.3.0-beta.77

3 years ago

2.3.0-beta.76

3 years ago

2.3.0-beta.58

3 years ago

2.3.0-beta.52

3 years ago

2.3.0-beta.50

3 years ago

2.3.0-beta.49

3 years ago

2.3.0-beta.48

3 years ago

2.3.0-beta.42

3 years ago

2.3.0-beta.35

3 years ago

2.3.0-beta.25

3 years ago

2.3.0-beta.26

3 years ago

2.3.0-beta.24

3 years ago

2.3.0-beta.22

3 years ago

2.3.0-beta.10

3 years ago

2.3.0-beta.5

3 years ago