travis-api/vendor/travis-core/lib/travis/addons
2016-06-08 15:26:51 +02:00
..
archive squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
campfire squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
email squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
flowdock squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
github_status squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
hipchat squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
irc squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
pusher squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
pushover squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
slack squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
sqwiggle squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
states_cache squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
webhook squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
archive.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
campfire.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
email.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
flowdock.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
github_status.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
hipchat.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
irc.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
pusher.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
pushover.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
README.markdown squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
slack.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
sqwiggle.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
states_cache.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
util.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +02:00
webhook.rb squash rlh-are-remove-core 2016-06-08 15:26:51 +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.