Giter Site home page Giter Site logo

cnxtech / refocus-bot-oncall Goto Github PK

View Code? Open in Web Editor NEW

This project forked from salesforce/refocus-bot-oncall

0.0 0.0 0.0 26.65 MB

Refocus on call bot to reach out to Service Matter Experts (SMEs) during incidents

License: BSD 3-Clause "New" or "Revised" License

JavaScript 97.71% CSS 0.93% HTML 1.37%

refocus-bot-oncall's Introduction

Oncall-Bot

Build Status

This is the repository for a bot that enables Site Reliability to reach out to Service Matter Experts (SMEs) during incidents. Our users need a way to contact people from Rooms who are on-call during incidents. It was designed and developed to be used inside & in conjunction with Refocus Rooms.

Features

Getting Started

These instructions will enable you to have a copy of this project up and running on your local machine for development and testing purposes.

Prerequisites

Environment variables

Note: If you want to test this locally you will need some environment variables:

  • API_TOKEN - Used for Requests to Refocus. Created in refocus/tokens/new.
  • NODE_ENV (defaults to 'dev') - Used to determine which instance of Refocus to install the bot.
  • PD_TOKEN - Used to connect to PagerDuty.
  • PD_SENDER - The email address of the sender.
  • REFOCUS_URL (OPTIONAL) - Used to specify which refocus instance to point to.
  • REFOCUS_REALTIME_URL (OPTIONAL) - Used to specify which refocus realtime instance to point to.

Running Locally

  • Clone this repo
  • npm install
  • npm start
  • Test locally (default port 5000)

Refocus Room Settings

  • onCallBotTemplate (optional) - Template for PagerDuty notification message.
  • onCallBotData (optional) - Variables to be used in template (variable imcLink is by default available in templates).

Example Room Settings

"settings": {
	"onCallBotTemplate": "You've been paged by {{name}} to join an incident room.",
	"onCallBotData": {
		"name": "John"
	}
}

Running Tests

While creating some aspects of this project we used Test Driven Developement (TDD). Invoking "npm test" from the command line will run all of these test scripts to ensure everything is working correctly.

Contributing

If you have any ideas on how this project could be improved, please feel free. The steps involved are:

  • Fork the repo on GitHub.
  • Clone this project to your machine.
  • Commit changes to your own branch.
  • Push your work back up to your fork.
  • Submit a Pull Request so we can review it!

Release History

Follows semantic versioning

  • 1.0.0 Can notify groups via PagerDuty.
  • 1.0.1 Removed reference to refocusConnect.
  • 1.0.2 Fixed vertical scroll issue inherited from iframes.
  • 1.0.3 Updating message when botData is updated.
  • 1.0.4 Expire toast after 3 seconds and make toast width 75%.
  • 1.0.5 Update server code to match scaffold
  • 1.0.6 Remove extra scripts
  • 1.0.7 Use Serialize instead of JSON.stringify.
  • 1.0.8 Add env variable for refocus url
  • 1.0.9 Fix uglify for production
  • 1.0.10 Display name
  • 1.0.11 Checking that Service.name exists
  • 1.0.12 Multiple requests bug
  • 1.0.13 Fixing bug with disabled services
  • 1.0.14 New token workflow.
  • 1.0.15 Clean up config.js.
  • 1.0.16 Update dependencies from npm audit.
  • 1.0.17 Added refocus realtime url.
  • 1.0.18 Added check for a service before trying to access name.

refocus-bot-oncall's People

Contributors

kamilsmuga avatar kriscfoster avatar tausifmuzaffar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.