Code Monkey home page Code Monkey logo

servicedeskbot's Introduction

ServiceDeskBot

Cisco Spark Bot for ServiceDesk

What is it?

  • Q&A chatbot integrated on redis db
  • DB can be loaded with csv file
  • User can be put in a new room with ServiceDesk (keyword: joinsd)
  • Tranlsation integrated in 107 languages with auto or manual mode (keyword: translate help)
  • Based on node-flint (nodejs)
  • Logstash connector to send all messages in BigData db
  • ITSM (servicenow) integration to list, create, update ticket
  • Flash message management to inform about current global outage

Scenario

Advanced Scenario

Search

All words other than the keywaord used for the command are used to be searched in the KB source(s)

Commands

joinsd

  • joinsd To open a chat group space with the Service Desk. Because we can't let the enduser without door. Create automatically an ITSM incident with the content coming from local chat. New group chat space is create and one ServiceDesk guy is involved to help the end user.

  • joinsd help The SD's help page.

CSV

Manage CSV file as source of KM

  • csv load Load current CSV file as source of data. Useful to update quickly the KB source.

  • csv test Test current CSV file vs local DB. Run the production safly!

  • csv help The CSV's help page.

ITSM

Manage the ITSM ticket:

  • incident
  • problem
  • task

Incident

  • task list List ITSM tasks. To follow the last event, update...

  • task list create [title] [comments] Create your task by chat.

  • task update [id] [comments] Update the task.

  • task help The Task's help page.

Problem

  • problem list List ITSM problems. To follow the last event, update...

  • problem list create [title] [comments] Create your problem by chat.

  • problem update [id] [comments] Update the problem.

  • problem help The Problem's help page.

Incident

  • incident list List ITSM incidents. To follow the last event, update...

  • incident list create [title] [comments] Create your incident by chat.

  • incident update [id] [comments] Update the incident.

  • incident help The Incident's help page.

Translate

  • translate state Display the current state of the auto translation.

  • translate on Activate the auto translation.

  • translate off Deactivate the auto translation.

  • translate config Display the current config.

  • translate config [lang in] [lang out] Change the current config. The config is also updated when the user perform an manual translation.

  • translate help The Translate's help page.

Flash

Display and update the flash message

  • flash Display the flash messasge.

  • flash update [\/*phrase} Update the flash message.

  • flash help The Flash's help page.

help

  • help Display the global helpful messsage

HowTo

Installation

  • Clone localy git clone https://github.com/guillain/ServiceDeskBot.git

  • Go into the folder cd ServiceDeskBot

Configuration

  • Put your CSV file (named km.csv) in the conf folder (key->txt structure) cp [your CSV file] app/conf/km.csv

  • Config your app with your spark bot vi app/config.js

If you want to use the run.sh shell script, change the path of the install folder: vi run.sh APP_DIR='/home/ec2-user/ServiceDeskBot/app'

Running

PM2 environment

  • Install dependencies cd app npm install

  • Run the application, two configuration availables

  • 1/ For the dev, node is used ./run.sh manual

  • 2/ For the prod, pm2 is used (install also this dependency) ./run.sh [start|stop|restart|show|status|log]

  • Add the bot in 1:1 or in chat group room

Docker

Provided also for Docker env. with the Dockerfile for the standalone builder

To build the image: docker build -t bot/servicedesk .

To run the image: docker run -d -p 8083:3333 bot/servicedesk

To go in the container: docker exec -it bot/servicedesk /bin/bash

To check the logs docker logs bot/servicedesk --details -f

BigData with Logstash connector embeded

Settings is done to send all chat messages formatted properly to a log stash system.

Thanks to active it in the configuration file

config.js
> config.bigdata.enable = true;

Current issue

  • ITSM create title comments` callback fct to fix (manual creation of incident, problem and task impacted)
  • flint Redis storage (issue: flint-bot/flint#22). Thanks to use the old redis.js file as workaround.

CREDITS

Cisco Spark

Google

Redis

Done

Done

ToDo

ToDo

Have fun

servicedeskbot's People

Contributors

guillain avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

jeffdegraef

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.