Skip to main content

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.

CircleCI GitLab CI

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chiron-bot-0.9.1.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

chiron_bot-0.9.1-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file chiron-bot-0.9.1.tar.gz.

File metadata

  • Download URL: chiron-bot-0.9.1.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for chiron-bot-0.9.1.tar.gz
Algorithm Hash digest
SHA256 82a30a384df4ee45a74df6b3ea6eb9cd0452ee3889e37fabdde025ad638bddd1
MD5 021719cdb7ff6ceff980993dfe09ed13
BLAKE2b-256 0d8f0be0a6847f34e48d1bbbb896b7d6489c56785c7b27e5ddf61107a6fa8776

See more details on using hashes here.

File details

Details for the file chiron_bot-0.9.1-py3-none-any.whl.

File metadata

  • Download URL: chiron_bot-0.9.1-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for chiron_bot-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4867212dfdd0d3218a494fea3f58ae16b68feba74834476bf3c347906d049d0f
MD5 3cf055ab6a76df54879c42c2f6779ae8
BLAKE2b-256 87ff31580f012c6606ce7c84284506753ab0fbef1df52a9e60a2dc7215e9032f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page