Chat bot that can look up ticket numbers on bugtrackers and return their names
Project description
Chiron
Chiron is a chatbot that listens for messages containing ticket numbers, looks up the ticket in an appropriate bugtracker, and responds with the ticket title and URL. Over time, the definition of "bugtracker" has broadened -- it includes actual bugtrackers like Debathena's, but also MIT class numbers and Bible verses.
It supports running as both a zephyrbot (MIT's chat system) and a Zulip bot.
Features
- Supports "tickets" in more than two dozen different "bugtracker" instances --- see
bugtrackers.txt
for a list - Generic support for projects using
- Trac
- Jira
- Github Issues
- Bugzilla
- Responds to both personal and class/stream messages
- For personal messages, will reply-all when there are multiple recipients
Running
For Zulip support, install using the zulip
extra, and then run ./main.py --protocol=zulip
, which will use your ~/.zuliprc
. Subscriptions are managed
through the usual Zulip mechanisms.
For zephyr support, Chiron requires Evan Broder's
python-zephyr
--
requirements.zephyr.txt
may be useful -- and must be run with tickets so that
it can sub to incoming zephyrs. You may find
k5start
helpful for keeping
current tickets available.
If you just run it with ./main.py
, it will subscribe to zephyr personals only
with some default bugtrackers.
Primary production deployment
Alex Dehnert runs the primary Chiron instance for zephyr, and is generally happy to add additional matchers, fetchers, or classes. To request changes, please file an issue (or pull request) on Github, zephyr him, or send mail to chiron@mit.edu.
He also runs instances on some private Zulip realms.
Private deployments
If you want to run your own private production Chiron instance, you can also
do that. By default, main.py
will only sub to personals. You can pass the
--class
option one or more times to tell it to sub to specific classes.
Additionally, when run with the --default-classes
option it will sub to a
variety of default classes. Feel free to crib from main.py
in setting up
your own Chiron instance, or run it subbed only to personals. However, please
ensure that if you run a Chiron instance that subs to non-personals, it
listens on different classes and/or uses different matchers than the primary
instance, so that users don't receive multiple replies to their zephyrs.
(Using the --class
option and not --default-classes
is an easy way to
accomplish this.)
Deploying on scripts
The setup used for running the production zephyr instance on scripts.mit.edu is
in the deploy
directory. It may be a decent reference for deploying your own
copy of Chiron or other similar zephyrbots.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chiron_bot-0.9.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4867212dfdd0d3218a494fea3f58ae16b68feba74834476bf3c347906d049d0f |
|
MD5 | 3cf055ab6a76df54879c42c2f6779ae8 |
|
BLAKE2b-256 | 87ff31580f012c6606ce7c84284506753ab0fbef1df52a9e60a2dc7215e9032f |