Skip to content
Jabber bot to announce github issues/commits/pull requests to conference rooms.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
bin
conf
db
lib
.gitignore
Gemfile
Procfile
README.md
config.ru

README.md

Walter

A threaded Jabber bot that uses Sinatra to accept inbound payloads, parse them, and send them on to your Jabber channels. An SQLite database is used to store the messages.

Right now only Github is supported as a plugin. The public Github API is used to lookup user information and cache in SQLite to avoid unnecessary database calls.

Contributors

Requirements

gem 'thin'
gem 'xmpp4r'
gem 'sinatra'
gem 'data_mapper'
gem 'dm-sqlite-adapter'
gem 'foreman'
gem 'god'

Configuration File

The configuration file is located at "walter/conf/main.yml":

server_name: your-jabber-server.org 
server_port: 5222
username: user@password.com 
password: securepassword 
nickname: Walter 
conferences:
- engineering@conference.your-jabber-server.org
- systems@conference.your-jabber-server.org
plugins:
  github:
    githubusername/repo1:
      notify:
        - issue
        - pull
      conferences:
        - engineering@conference.your-jabber-server.org
    githubusername/repo2:
      notify:
        - commit
        - issue
        - pull
      conferences:
        - engineering@conference.your-jabber-server.org
        - systems@conference.your-jabber-server.org

The first "conferences" array is simply the list of conferences that you want Walter to persist in.

Under the plugins section you can see that you can heavily customize how you want each repository to be notified and to which conferences.

Starting up

  1. Bundle those gems:
bundle
  1. Change to the root "walter" directory and run:
foreman start
Something went wrong with that request. Please try again.