Ghost/ghost/slack-notifications
Aileen Booker 2f57e95a5d
Slack notifications service for Milestones behind flag (#16281)
refs
https://www.notion.so/ghost/Marketing-Milestone-email-campaigns-1d2c9dee3cfa4029863edb16092ad5c4?pvs=4

- Added a `slack-notifications` repository which handles sending Slack
messages to a URL as defined in our Ghost(Pro) config (also includes a
global switch to disable the feature if needed) and listens to
`MilestoneCreatedEvents`.
- Added a `slack-notification` service which listens to the events on
boot.
- In order to have access to further information such as the reason why
a Milestone email hasn't been sent, or the current ARR or Member value
as comparison to the achieved milestone, I added a `meta` object to the
`MilestoneCreatedEvent` which then gets accessible by the event
subscriber. This avoid doing further requests to the DB as we need to
have this information in relation to the event occurred.

---------

Co-authored-by: Fabien "egg" O'Carroll <fabien@allou.is>
2023-02-17 12:59:18 +02:00
..
lib Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00
test Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00
.eslintrc.js Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00
index.js Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00
package.json Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00
README.md Slack notifications service for Milestones behind flag (#16281) 2023-02-17 12:59:18 +02:00

Slack Notifications

Service to handle sending notifications to a Slack webhook URL

Usage

Develop

This is a monorepo package.

Follow the instructions for the top-level repo.

  1. git clone this repo & cd into it as usual
  2. Run yarn to install top-level dependencies.

Test

  • yarn lint run just eslint
  • yarn test run lint and tests