The public Travis API
Go to file
2013-04-15 02:17:08 -05:00
config Use unicorn.rb config, sans prefork for now. 2012-12-05 18:19:23 +01:00
docs fix link to travis-web 2012-11-16 17:35:17 +01:00
lib Update docs style to look more like the main docs site 2013-04-15 02:04:50 -05:00
public Add favicon 2013-04-15 02:17:08 -05:00
script Revert "go back to unicorn for now" 2013-01-23 21:05:36 +01:00
spec Ensure that we properly handle 404 formats 2013-04-11 14:47:00 +02:00
.buildpacks Add last-commit-sha-buildpack 2012-11-25 23:48:39 +01:00
.gitignore Ignore log dir 2013-01-19 22:36:58 +01:00
.travis.yml also test against jruby 2013-02-24 13:25:16 +11:00
config.ru disable new relic 2013-02-13 17:55:11 +01:00
CONTRIBUTING.md First cut generic Contributing.md file for Travis 2013-03-18 23:07:55 -03:00
Gemfile Use rubygems via https 2013-02-26 21:06:16 +01:00
Gemfile.lock Bump travis-core 2013-04-12 03:32:32 +02:00
Procfile add console 2012-10-23 00:24:23 +02:00
Rakefile Don't error out on micro migrations on production 2013-03-27 15:13:19 +01:00
README.md update readme 2012-08-15 02:25:30 +02:00
travis-api.gemspec regenerate gemspec 2013-03-20 19:53:29 +01:00

The public Travis API

This is the app running on https://api.travis-ci.org/

Installation

Setup:

$ bundle install

Run tests:

$ RAILS_ENV=test rake db:create db:schema:load
$ rake spec

Run the server:

$ rake db:create db:schema:load
$ foreman start

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

API documentation

We use source code comments to add documentation. If the server is running, you can browse an HTML documenation at /docs.

Project architecture

lib
`-- travis
    `-- api
        `-- app
            |-- endpoint    # API endpoints
            |-- extensions  # Sinatra extensions
            |-- helpers     # Sinatra helpers
            `-- middleware  # Rack middleware

Classes inheriting from Endpoint or Middleware, they will automatically be set up properly.

Each endpoint class gets mapped to a prefix, which defaults to the snake-case class name (i.e. Travis::Api::App::Profile will map to /profile). It can be overridden by setting :prefix:

require 'travis/api/app'

class Travis::Api::App
  class MyRouts < Endpoint
    set :prefix, '/awesome'
  end
end