JSPM

@netcentric/cm-notify

1.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q37279F
  • License Apache-2.0

Adobe Cloud Manager Pipeline Notifications to Slack, Teams and Email

Package Exports

  • @netcentric/cm-notify
  • @netcentric/cm-notify/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@netcentric/cm-notify) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cm-notify

Version Release Status CodeQL Analysis semver: semantic-release License

Cloud Manager Notify is a Node.js application that listens for Cloud Manager events and sends notifications to Slack and Microsoft Teams.

Installation

  • Global installation:
npm i -g @netcentric/cm-notify
  • Local installation:
npm i @netcentric/cm-notify

Usage

  • If installed globally:
cm-notify [COMMAND]
  • If installed locally:
./node_modules/.bin/cm-notify [COMMAND]
  • Usage as a library:
const {
  startApp,
  startNgrok,
  setupGoogle,
  setupAdobe
} = require('@netcentric/cm-notify');

startApp();

Commands

  • start:app - Start the application server to listen for Cloud Manager events
  • start:ngrok - Start ngrok
  • setup:adobe - Setup Adobe Cloud Manager pipelines data
  • setup:google - Setup Google Auth Token
  • test - Post test event to the local webhook

Setup

Environment Variables

  • Create a .env file in the root folder with the following variables:

Minimal required envs:

# Cloud Manager envs
ORGANIZATION_NAME=orgname# used to build the URL for the Pipeline
# Messanger apps env
SLACK_WEBHOOK=webhook_url

All envs:

# Cloud Manager envs
ORGANIZATION_NAME=orgname# used to build the URL for the Pipeline
CLIENT_ID=e231#used to validate CM event
# Messanger apps env
SLACK_WEBHOOK=https://hooks.slack.com/services/123
# Teams webhook URL
TEAMS_WEBHOOK=https://prod-123.westus.logic.azure.com:443/workflows/123
# Teams email, alternative approach, if Webhook is disabled
TEAMS_EMAIL=email.onmicrosoft.com@amer.teams.ms
# Email sender env
# Only needed if Teams email approach is used
EMAIL_FROM=gmailuser@googleworkspacedomain.com
# App env (optional)
PORT=4000# port to run the application, default is 4000
DATA_PATH=./.data# path to the data folder wher tokens are stored, default is ./.data
# Ngrok env (optional)
# Only needed if ngrok is used for local testing
NGROK_AUTHTOKEN=123
NGROK_DOMAIN=domain-name.ngrok-free.app

Cloud Manager Webhook

  1. Go to https://developer.adobe.com/console
  2. Create a new project
  3. Add Events to the project
  4. Select Cloud Manager Events
  5. Configure Webhook URL as this-application-URL/webhook.
  • Optional: For local testing, you can use ngrok to expose your local server to the internet.
  • Optional: For exploring the events in developer console, you need to add OAuth credentials and I/O Management API

Cloud Manager pipelines data (optional)

  • Only needed for more details about the pipeline.
  1. Get a Cloud Manager list of pipelines
  2. Generate valid Cloud Manager list of pipelines

Google Auth Token (optional)

  • Only needed if you want to send notifications via email.
  1. Get Google Auth Credentials
  2. Generate Google Auth Token

Testing

  1. Setup testing slack/teams channel
  2. Configure .env file
  3. Add .data files
  4. Setup Google and Adobe files
  5. Start the application:
cm-notify start:app
  1. Post a test event to the local webhook
cm-notify test