/webex-rss

Webex RSS Parser

Primary LanguageJavaScriptMIT LicenseMIT

webex-rss

Webex RSS

Webex RSS is a parser bot designed to enrich the data provided from the Webex RSS Feeds.

It formats and posts the feed content into three or four Webex Spaces (Incidents, Maintenance, Announcements and optionally Developer API)

Note: No initial messages will be published to the spaces when app is loaded. Only when a message is received on the RSS Feed it will be published into the respective space.

Prerequisites

  1. Register a Bot at Webex Developers for your Organization, noting the Token ID
  2. Create Spaces for Output Messages in Webex App, namely Incidents, Maintenance and Announcements (API as an optional)
  3. Obtain RoomId for each room (simply add astronaut@webex.bot to space, or get using Developer APIs)
  4. Add Bot created in Step 1 to each of the above spaces.

Deployment (Local)

  1. Clone / Download repository
  2. Run npm install to add the require dependencies (ensure Node and NPM are installed)
  3. Create an .env file and include the required variables outlined below.
  • Recommend adding CONSOLE_LEVEL=debug during initial testing
  1. Start the integration using npm run start
  2. Review the console logs to confirm no errors encountered

Deployment (Docker)

The simplest deployment method is using Docker and Docker Compose

  1. Clone / Download repository
    • Only docker-compose.yml is needed if using prebuilt docker image
  2. Update the included docker-compose.yml file with the correct Environmental parameters
    • Use the prebuilt image available on Docker Hub (default in docker-compose.yml)
    • Build local image - Uncomment build and comment image line in docker-compose.yml
  3. Provision and start the service using docker-compose up -d
  4. Review the console logs using docker logs webex-rss -f (assuming you are using the default container name)

Environmental Variables

These variables can be individually defined in Docker, or loaded as an .env file in the /app directory.

Name Type Default Description
TOKEN Required Bot Token for Webex Messaging Posts
INC_ROOM Required RoomId for Webex Incident Space
MAINT_ROOM Required RoomId for Webex Maintenance Space
ANNOUNCE_ROOM Required RoomId for Webex Announcement Space
API_ROOM Optional RoomId for Webex Developer API Space
RSS_INTERVAL Optional 5 Interval for RSS Checks (Minutes)
Logging Settings
CONSOLE_LEVEL no bool info
APP_NAME no string webex-rss
SYSLOG_ENABLED no bool false
SYSLOG_HOST no string syslog
SYSLOG_PORT no num 514
SYSLOG_PROTOCOL no str udp4
SYSLOG_SOURCE no str localhost
LOKI_ENABLED no bool false
LOKI_HOST no string http://loki:3100
HTTP Proxy
GLOBAL_AGENT_HTTP_PROXY no string
GLOBAL_AGENT_NO_PROXY no string
NODE_EXTRA_CA_CERTS no string

Support

In case you've found a bug, please open an issue on GitHub.

Disclaimer

This application is provided as a sample only is NOT guaranteed to be bug free and production quality.