Git Product home page Git Product logo

travis-api's Introduction

Travis API

Build Status

https://api.travis-ci.org

Requirements

You will need the following packages to get travis-api to work:

  1. PostgreSQL 9.3 or higher
  2. Bundler
  3. Redis Server
  4. Optional: RabbitMQ Server
  5. Nginx - If working in Ubuntu please install nginx manually from source: Download and extract latest nginx version, open a terminal in extracted folder and then run the following:
    $ sudo apt-get install libpcre3 libpcre3-dev
    $ auto/configure --user=$USER
    $ make
    $ sudo make install
    $ sudo ln -s /usr/local/nginx/sbin/nginx /bin/nginx

Installation

Setup

$ bundle install

Main Database & Logs Database setup

You might need to create a role first. For this you should run the following:

$ sudo -u postgres psql -c "CREATE USER yourusername WITH SUPERUSER PASSWORD 'yourpassword'"

Databases are set up with a Rake task that uses the database schemas (structure.sql) in travis-migrations which is loaded as a Gem. Details can be found in the Rakefile.

If there have been new migrations added to travis-migrations since you bundle installed, you will need to update travis-migrations to ensure you have the latest version with the new migrations.

bundle update travis-migrations

To create and migrate the Databases:

$ RAILS_ENV=development bundle exec rake db:create
$ RAILS_ENV=test bundle exec rake db:create

Please Note: The database names are configured using the environment variable RAILS_ENV. If you are using a different configuration you will have to make your own adjustments.

Run tests

$ bundle exec rake

Run the server

$ bundle exec script/server

If you have problems with Nginx because the websocket is already in use, try restarting your computer.

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

v3 documentation can be found at https://developer.travis-ci.org which is a repository that can be found at https://github.com/travis-pro/developer

Adding V3 Endpoints Developer Documentation

Start with the find/get spec (for example: spec/v3/services/caches/find_spec.rb) for your new endpoint. If you don't have a find route start with whatever route you want to add first. Run the test and add the files you need to clear the errors. They should be:

  • A service (lib/travis/api/v3/services/caches/find.rb)
  • A query (lib/travis/api/v3/queries/caches.rb)
  • Register the service in v3/services.rb (alphabetical order please)
  • Add a route (v3/routes.rb) Re-run the test at this point. Depending on what objects you are returning you may also need to add:
  • Add a model (either pulls from the DB or a wrapper for the class of the objects returned from another source (s3 for example), or that structures the result you will be passing back to the client)
  • Add a renderer (if needed to display your new model/object/collection)

travis-api's People

Contributors

rkh avatar drogus avatar svenfuchs avatar banzaiman avatar anarosas avatar renee-travisci avatar roidrage avatar joshk avatar sarahhodne avatar carlad avatar joecorcoran avatar nef10 avatar aakritigupta avatar igorwwwwwwwwwwwwwwwwwwww avatar multifokalhirn avatar bnferguson avatar indirect avatar cscott avatar sferik avatar clekstro avatar lislis avatar laserlemon avatar brysgo avatar backspace avatar meatballhat avatar dnrce avatar jdennes avatar mariadeanton avatar nschonni avatar punchagan avatar

Watchers

rosa maria palacios juncosa avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.