Skip to content

Netcentric/cm-notify

Repository files navigation

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
[email protected]
# Email sender env
# Only needed if Teams email approach is used
[email protected]
# 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

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published