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
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-notifyUsage
- 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 eventsstart:ngrok- Start ngroksetup:adobe- Setup Adobe Cloud Manager pipelines datasetup:google- Setup Google Auth Tokentest- Post test event to the local webhook
Setup
Environment Variables
- Create a
.envfile 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_urlAll 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.appCloud Manager Webhook
- Go to https://developer.adobe.com/console
- Create a new project
- Add Events to the project
- Select
Cloud Manager Events - 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 credentialsandI/O Management API
Cloud Manager pipelines data (optional)
- Only needed for more details about the pipeline.
- Get a Cloud Manager list of pipelines
- Generate valid Cloud Manager list of pipelines
- Details in the ADOBE.md file.
Google Auth Token (optional)
- Only needed if you want to send notifications via email.
- Get Google Auth Credentials
- Generate Google Auth Token
- Details in the GMAIL.md file.
Testing
- Setup testing slack/teams channel
- Configure
.envfile - Add
.datafiles - Setup Google and Adobe files
- Start the application:
cm-notify start:app- Post a test event to the local webhook
cm-notify test