travis-api/vendor/travis-core/lib/travis/addons
2016-06-21 12:16:43 +02:00
..
archive moved travis-core to vendor 2016-06-14 15:17:20 +02:00
campfire moved travis-core to vendor 2016-06-14 15:17:20 +02:00
email moved travis-core to vendor 2016-06-14 15:17:20 +02:00
flowdock fix event notification 2016-06-21 12:16:43 +02:00
github_status moved travis-core to vendor 2016-06-14 15:17:20 +02:00
hipchat moved travis-core to vendor 2016-06-14 15:17:20 +02:00
irc moved travis-core to vendor 2016-06-14 15:17:20 +02:00
pusher fix event notification 2016-06-21 12:16:43 +02:00
pushover moved travis-core to vendor 2016-06-14 15:17:20 +02:00
slack moved travis-core to vendor 2016-06-14 15:17:20 +02:00
sqwiggle moved travis-core to vendor 2016-06-14 15:17:20 +02:00
states_cache moved travis-core to vendor 2016-06-14 15:17:20 +02:00
webhook fix event notification 2016-06-21 12:16:43 +02:00
archive.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
campfire.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
email.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
flowdock.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
github_status.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
hipchat.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
irc.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
pusher.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
pushover.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
README.markdown moved travis-core to vendor 2016-06-14 15:17:20 +02:00
slack.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
sqwiggle.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
states_cache.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
util.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00
webhook.rb moved travis-core to vendor 2016-06-14 15:17:20 +02:00

Travis Core Addons

The Addons are event handlers that accepts events such as "build finished" and forwards them to different services. The different services are:

  • Campfire
  • E-mail
  • Flowdock
  • GitHub Commit Statuses
  • Hipchat
  • IRC
  • Pusher: Used to update our Web UI automatically.
  • Sqwiggle
  • States cache: Caches the state of each branch in Memcached for status images.
  • Webhook
  • Pushover

To add a new notification service, an event handler and a task is needed. The event handler is run by travis-hub and has access to the database. This should check whether the event should be forwarded at all, and pull out any necessary configuration values. It should then asynchronously run the corresponding Task. The Task is run by travis-tasks via Sidekiq and should do the actual API calls needed. The event handler should finish very quickly, while the task is allowed to take longer.