Commit Graph

1132 Commits

Author SHA1 Message Date
Sven Fuchs
bda2797f0e bump core and support. Travis::Metrics.setup 2014-10-07 16:47:09 +02:00
Konstantin Haase
2b6f2ceabe be smarter about host setting 2014-10-07 16:46:31 +02:00
Konstantin Haase
b8d700ea65 expose more pusher infos 2014-10-07 16:46:31 +02:00
Konstantin Haase
b024945cde check Travis.config.client_domain 2014-10-07 16:46:31 +02:00
Sven Fuchs
f3a2cc2f40 use Travis.config.github.ssl when fetching an oauth access token 2014-10-07 16:46:31 +02:00
Sven Fuchs
1080bee23b do not include Raven::Rack unless configured 2014-10-07 16:46:30 +02:00
Sven Fuchs
8cfbe642a0 to_s target_origin config to be safe 2014-10-07 16:46:30 +02:00
Sven Fuchs
7eebcff341 check for sentry.dsn 2014-10-07 16:46:30 +02:00
Sven Fuchs
9a4b2b8e99 allow whitelisting target_origin in Travis.config 2014-10-07 16:45:47 +02:00
Mathias Meyer
b1c0b7eb25 Merge branch 'master' into mm-fix-gravatar-url 2014-10-02 19:11:41 +02:00
Mathias Meyer
d181e898ac Fix gravatar_id to use email.
This is a temporary fix for travis-ci/travis-ci#2837, until the
sync is fixed.
2014-10-02 19:06:55 +02:00
Piotr Sarnacki
dd239b86d0 Respond with 404 if job doesn't have a repository
We have some jobs which doesn't have any repository in our DB. This is a
quick fix which returns 404 for such a request instead of raising an
error
2014-10-01 20:39:50 +02:00
Piotr Sarnacki
c2fc97b138 Return tag along with commit 2014-10-01 15:22:35 +02:00
Piotr Sarnacki
890b7f1d93 Fix Accept header support for logs request
When log is aggregated and archived we don't have a way to return it in
JSON format, only text format. Till recently we were returning a text
response or a redirect to S3 even if Accept header was set only to JSON.
This commit fixes it.
2014-09-11 17:44:36 +02:00
Piotr Sarnacki
07cd97a90f Add "after" param to log
after query param allows to get only parts that come after a specified
number, for example "after: 10" will download only parts that come after
10th part.
2014-09-11 14:36:19 +02:00
Piotr Sarnacki
65a90fd5d7 Fix specyfing part_numbers in API
Recently I've implmented a way to get only specific parts from log API,
but the test and implementation were wrong. This commit fixes that.
2014-09-11 14:35:33 +02:00
Piotr Sarnacki
6e5f225a1c Don't reset the value if a new value is provided
If a value is provided with a request to update the record, we should
not nullify it. We don't send decrypted private values to the client, so
if client provides it, it's probably pasted by the user.
2014-09-10 11:02:24 +02:00
Piotr Sarnacki
e103b291ad Reset value when env var is changed from private to public
When env var is changed from private to public, we didn't nullify it, so
someone doing that could miss exposing it. To minimise the risk of
exposing any secure info we'll now nullify the value.
2014-09-10 10:46:29 +02:00
Piotr Sarnacki
3e33ab15d5 Put automatically generated settings subclasses to Endpoint namespace 2014-09-10 10:17:33 +02:00
Piotr Sarnacki
f91c54725e Add a feature flip for education field update 2014-09-02 10:44:31 +02:00
Piotr Sarnacki
9b07efa5e9 Check for user education status on signin/signup 2014-08-28 17:18:07 +02:00
Piotr Sarnacki
4546d29508 Add ability to specify parts in query to get log 2014-08-27 15:52:52 +02:00
Konstantin Haase
b448410da5 have :id in repos controller only match digits 2014-08-19 10:45:55 +02:00
Konstantin Haase
f19bfa1ada set up mustermann 2014-08-19 10:05:45 +02:00
Piotr Sarnacki
81abc68621 Return only simple attributes on PATCH to settings 2014-07-30 16:44:37 +02:00
Henrik Hodne
192af7b1b7 Remove Skylight 2014-07-29 11:21:34 +02:00
Piotr Sarnacki
fd6042573a Return fingerprint along with the public key for repository 2014-07-29 04:39:03 +02:00
Piotr Sarnacki
d7c6edec18 Bring back ssh key endpoint, but make it configurable 2014-07-29 03:02:54 +02:00
Piotr Sarnacki
b9db32e3c2 Treat repository_id as id for singleton settings 2014-07-23 13:34:30 +02:00
Piotr Sarnacki
fd948929a1 SshKey is a part of travis-pro-core 2014-07-21 17:23:32 +02:00
Piotr Sarnacki
4005760c8c Add SingletonSettingsEndpoint
This class allows to easily add an endpoint for a nested model in
settings.
2014-07-21 17:09:32 +02:00
Piotr Sarnacki
9ae3782975 Don't return collections along with simple settings 2014-07-16 18:20:35 +02:00
Piotr Sarnacki
696185e3cd Return repository_id for env vars 2014-07-16 18:14:52 +02:00
Piotr Sarnacki
cc291446f5 Return env var's value if it's public 2014-07-16 11:54:31 +02:00
Piotr Sarnacki
2e8fc35e13 Properly validate settings 2014-07-15 16:26:24 +02:00
Piotr Sarnacki
60c300aeec Bump travis-core 2014-07-15 16:25:12 +02:00
Piotr Sarnacki
cbb195eb79 Revert "Revert "Serve CORS from app""
This reverts commit 8694cb4b92.
2014-06-20 12:57:36 +02:00
Hiro Asari
4410d3f999 Merge pull request #120 from travis-ci/ps-env-vars-in-settings
Add settings endpoint for env_vars
2014-06-18 11:45:02 -04:00
Piotr Sarnacki
8694cb4b92 Revert "Serve CORS from app"
This reverts commit 7f66d4bce9.
2014-06-18 14:59:33 +02:00
Hiro Asari
6d3a65b541 Merge branch 'master' into ps-env-vars-in-settings
Conflicts:
	Gemfile.lock
2014-06-18 08:38:49 -04:00
Piotr Sarnacki
7f66d4bce9 Serve CORS from app 2014-06-18 12:00:00 +02:00
Mathias Meyer
223cf949a1 Fix another variable. 2014-06-18 11:55:27 +02:00
Mathias Meyer
d9bf47c36a Fix variable name. 2014-06-18 11:55:27 +02:00
Mathias Meyer
415d266f61 Fix typo. 2014-06-18 11:55:27 +02:00
Mathias Meyer
e726b1b697 Fix ERb line. 2014-06-18 11:55:27 +02:00
Mathias Meyer
a7f0a861cb Fetch last build if no branch specified.
This restores backwards compatibility with the current behaviour
rather than defaulting to master. Though the latter would probably
the right thing to do in the longer term.
2014-06-18 11:55:26 +02:00
Mathias Meyer
5081bb157f Skip including a build if it doesn't exist.
This catches branch specifications where no build is available.
2014-06-18 11:55:26 +02:00
Mathias Meyer
99395d85c1 Delete TODO. 2014-06-18 11:55:26 +02:00
Mathias Meyer
b81b24b3ce Make master a string. 2014-06-18 11:55:26 +02:00
Mathias Meyer
3f16100247 Support the branch option for cc.xml requests.
Fixes travis-ci/travis-ci#2090
2014-06-18 11:55:26 +02:00
Hiro Asari
dae8652279 Merge branch 'master' into ha-feature-remove_log_endpoint 2014-06-17 10:40:30 -04:00
Hiro Asari
9265ac62c9 Merge branch 'master' into ha-feature-remove_log_endpoint
Conflicts:
	Gemfile.lock
	travis-api.gemspec
2014-06-17 09:05:05 -04:00
Konstantin Haase
143a9cd071 Revert "removed the branches endpoint"
This reverts commit f7450cdb6b.
2014-06-17 14:44:13 +02:00
Konstantin Haase
0145236b30 Merge pull request #123 from travis-ci/rkh-lint
add endpoint for .travis.yml linting
2014-06-17 14:15:02 +02:00
Konstantin Haase
10fe7e1c39 add endpoint for linting 2014-06-17 12:14:10 +02:00
Hiro Asari
8d4c4488b1 Merge pull request #94 from travis-ci/jk_remove_branches_endpoint
Remove the branches endpoint
2014-06-16 11:36:59 -04:00
Hiro Asari
dfffe8e405 Remove PATCH logs/:job_id endpoint
To eradicate unnecessary inconsistency.

Spec to test the existing `GET logs/:id` remains.
2014-06-12 07:20:47 -04:00
Hiro Asari
477c8b9212 Tweak RemoveLog helper
Leave responding up to the endpoint
Remove unnecessary parameter from the helper's parameter
2014-06-11 20:19:57 -04:00
Hiro Asari
cc03c5458a DRY up log patching logic
Move the shared logic into a Helpers method so that there is no
code duplication
2014-06-11 18:07:12 -04:00
Hiro Asari
8da49332d6 Clean up error handling for RemoveLog
With the error message change in travis-core, we can handle
2 exceptions in one rescue clause
2014-06-11 13:58:57 -04:00
Hiro Asari
4a3807b21a Standardize error handling for RemoveLog service endpoints
Return status 409 for errors
2014-06-11 13:51:47 -04:00
Hiro Asari
1cf298464a Add RemoveLog service endpoint to jobs/:id/log
This replaces https://github.com/travis-ci/travis-api/pull/107.
2014-06-11 13:39:21 -04:00
Hiro Asari
5c079f8e66 Add specs for RemoveLog service
Status code is debatable; I opted for 422 when the job is still
running, and for 500 if unexpected error happened
2014-06-11 09:30:50 -04:00
Piotr Sarnacki
3ef8fab3c6 Add settings endpoint for env_vars 2014-05-23 13:42:22 +02:00
Piotr Sarnacki
d02648a542 Add build_id to requests payload 2014-05-06 16:04:10 +02:00
Mathias Meyer
34a7f817b3 Remove documentation, redirect /docs to new docs. 2014-05-05 15:06:06 +02:00
Mathias Meyer
c240daa760 Enable async in the API. 2014-04-24 11:36:35 +02:00
Mathias Meyer
74761b439e Remove response inspector. Enable monitoring on staging. 2014-04-24 10:14:21 +02:00
Mathias Meyer
fe88881dba Use git rack-cache, less verbose. 2014-04-23 18:06:05 +02:00
Mathias Meyer
879d531bdc Put inspect before rack cache. 2014-04-23 17:31:58 +02:00
Mathias Meyer
7790f59b81 Debug nil responses. 2014-04-23 17:24:50 +02:00
Mathias Meyer
5623316889 Output body. 2014-04-23 14:05:21 +02:00
Mathias Meyer
cb83aa4626 Output response on Librato error. 2014-04-23 13:59:00 +02:00
Mathias Meyer
d6963c1325 Prefix error message. 2014-04-23 13:44:00 +02:00
Mathias Meyer
b83dc1c631 Actually remove prefix. 2014-04-23 13:31:53 +02:00
Mathias Meyer
5542c6f3ff Add error handler, remove prefix. 2014-04-23 13:28:23 +02:00
Mathias Meyer
3566b47d23 Require correct file. 2014-04-23 12:58:10 +02:00
Mathias Meyer
9bdaf9dc24 Require librato exporter. 2014-04-23 12:54:14 +02:00
Mathias Meyer
c8b2b15f56 Simplify Librato setup.
Moves monitoring related setup to its own method.
2014-04-18 15:54:34 +02:00
Mathias Meyer
d0818c5f1c Enable direct librato export for metriks. 2014-04-18 15:47:48 +02:00
Piotr Sarnacki
360881a888 Remove ssh_keys endpoint
SshKeys will make sense only on Travis CI Pro
2014-04-15 11:14:11 +02:00
Piotr Sarnacki
c42335a286 Merge pull request #117 from travis-ci/ps-ssh-keys
Add ssh keys to settings API
2014-04-15 10:59:59 +02:00
Piotr Sarnacki
17fd6201b8 Don't error out on settings
We didn't have scope: :private specified on settings endpoint which
resulted in errors (services check permissions of current user anyway,
but it will error out if there is no user available).
2014-04-15 10:58:08 +02:00
Piotr Sarnacki
f107d4676e Params in POST and PATCH requests should be fetched from request body
This also adds missing specs for ssh_keys endpoint
2014-04-10 14:07:20 +02:00
Henrik Hodne
26064f95a1 Merge pull request #119 from travis-ci/hh-skylight
Skylight
2014-04-09 18:08:48 -05:00
Henrik Hodne
9b0fb64ba1 skylight: add service probe 2014-04-09 16:53:24 -05:00
Henrik Hodne
162b5b0cca skylight: extract probes from config.ru 2014-04-09 14:34:20 -05:00
Henrik Hodne
928ed11c62 skylight: use Sinatra support from skylight gem
This hasn't been merged in yet, so use my fork for now.
2014-04-09 14:30:04 -05:00
Konstantin Haase
993e46bea1 Merge branch 'rkh-check-state' 2014-04-09 13:33:29 -04:00
Henrik Hodne
208a8248f7 skylight: refactor more into extension 2014-04-09 06:09:43 -05:00
Henrik Hodne
da92cfd640 Remove New Relic 2014-04-09 05:25:00 -05:00
Henrik Hodne
749ee8b943 skylight: only load extension if skylight is available 2014-04-09 04:14:19 -05:00
Henrik Hodne
37f2102513 Add Skylight stuff 2014-04-09 02:57:34 -05:00
Thais Camilo and Konstantin Haase
6e12bed1b5 store oauth state in cookie to verify it corresponds to current client 2014-04-08 15:17:23 -04:00
Piotr Sarnacki
a926ac1945 Render strings as text/plain 2014-04-08 15:22:33 +02:00
Piotr Sarnacki
54fb58a941 Special case for settings in rewrite is not needed 2014-04-01 16:58:36 +02:00
Piotr Sarnacki
e9cdef1c9b Add /settings/ssh_keys API 2014-04-01 13:05:25 +02:00
Piotr Sarnacki
1b524071f4 Allow to handle settings collections 2014-04-01 12:00:06 +02:00
Piotr Sarnacki
c1db39610e Remove code accidentally checked in 2014-03-26 13:01:46 +01:00
Piotr Sarnacki
8c82d9af89 Move API v2 payload definitions to travis-api from travis-core 2014-03-24 20:25:06 +01:00
Mathias Meyer
515ffb8a8a Return right mime type for SVG. 2014-03-19 15:05:11 +01:00
Mathias Meyer
a635f7d916 Add Badge to available responders. 2014-03-19 15:01:23 +01:00
Mathias Meyer
e85d19d33d Add responder for svg badges. 2014-03-19 14:31:38 +01:00
Piotr Sarnacki
400b6ae6ee Add /requests/:id endpoint 2014-03-12 10:50:16 +01:00
Piotr Sarnacki
ccbc3c8469 Merge pull request #110 from punchagan/minor-doc-fix
Fix entry point url for /auth/github in docs
2014-03-11 18:10:51 +01:00
Piotr Sarnacki
efa6a48a58 Merge pull request #112 from travis-ci/ps-requests-api
Add requests API
2014-03-11 13:24:09 +01:00
Piotr Sarnacki
093831c1a2 Add requests API
Requests API allows to get the requests from the DB and thus enable
users to have more insight into what's going on in their repositories.
2014-03-06 19:36:55 +01:00
Puneeth Chaganti
fdc4e47bd1 Fix entry point url for /auth/github in docs 2014-02-27 09:45:04 +05:30
Konstantin Haase
a7df899adc be more forgiving with scopes for /auth/github 2014-02-26 19:28:20 +01:00
Hiro Asari
5517623265 Respond with 409 to POST '/users/sync' if sync is in progress
Fixes travis-ci/travis-ci#1659.

[Henrik Hodne: squashed commits]
2014-01-28 10:22:10 -06:00
Hiro Asari
6069f429cd Merge pull request #67 from travis-ci/hh-add-metadata-endpoint
Add annotation endpoints (#1220)
2014-01-24 06:50:39 -08:00
Hiro Asari
8e1b190725 Require status for updating Annotation and bump travis-core 2014-01-22 09:34:26 -05:00
Mathias Meyer
1de288cc60 Fix links to docs and blog in API doco.
[skip ci]
2014-01-21 13:44:13 +01:00
Hiro Asari
8ce826cda0 Merge branch 'master' into hh-add-metadata-endpoint
Conflicts:
	Gemfile.lock
2014-01-20 22:30:35 -05:00
Sven Fuchs
0c6576fec1 Merge pull request #99 from travis-ci/ha-api-gh47-aggregate-cc-xml
Respond to /repos.xml with CC XML
2014-01-17 12:50:26 -08:00
Hiro Asari
a622de2a9f Merge branch 'master' into hh-add-metadata-endpoint
Update Gemfile.lock to point to the updated travis-core PR

Conflicts:
	Gemfile.lock
	lib/travis/api/app/endpoint/jobs.rb
	spec/integration/v2/jobs_spec.rb
2014-01-17 09:16:41 -05:00
Konstantin Haase
fc06e3bff9 Merge pull request #97 from travis-ci/core-gh1555-pretty-print-json
Pretty print JSON data
2013-12-06 05:27:55 -08:00
Piotr Sarnacki
e11dfa35cf Fix PATCH repos/:id/settings 2013-12-02 15:36:58 +01:00
Piotr Sarnacki
62a5e602c5 Implement simple repository settings API 2013-12-02 15:36:25 +01:00
Hiro Asari
ea05ef6845 Fix closing tag 2013-12-01 22:22:00 -05:00
Hiro Asari
1eb8ce5a1d Add missing closing </Project> tag 2013-12-01 22:01:12 -05:00
Hiro Asari
ac106488c7 Eschew questionable use of File.join
For constructing a URL, `File.join` is inappropriate.
2013-12-01 20:44:39 -05:00
Konstantin Haase
f2c6a67893 expose wanted github scopes to client 2013-12-01 19:37:16 +01:00
Mathias Meyer
95e8359e5e Pull custom font from Google with https. 2013-11-28 18:19:53 +01:00
Hiro Asari
1727b5328e Indent comment to match logic level 2013-11-19 01:21:14 -05:00
Hiro Asari
67decdfc6a Cast ActiveRecord::Relation into an Array 2013-11-19 01:19:21 -05:00
Hiro Asari
0fe9e6da90 Remove superfluous ivar 2013-11-18 18:21:32 -05:00
Hiro Asari
362b5d30bf Respond to /repos.xml with CC XML
See #47
2013-11-18 16:55:11 -05:00
Konstantin Haase
d462e88909 Merge pull request #98 from travis-ci/ha-fix-doc-endpoints
Fix auto-generated endpoints text
2013-11-15 08:40:49 -08:00
Hiro Asari
1a45e5dae1 Generate the string more cleanly 2013-11-15 11:33:30 -05:00
Hiro Asari
06ae9bd1fa Fix typo [skip ci] 2013-11-15 11:27:44 -05:00
Hiro Asari
f875a3f3d4 Fix auto-generated endpoints text
Before:
    /endpoints:prefi

After:
    /endpoints/:prefix
2013-11-15 11:05:26 -05:00
Hiro Asari
4556fdf8e1 Account for absence of pretty parameter 2013-11-15 09:43:07 -05:00
Hiro Asari
0e406b3ed1 Accept pretty parameter for pretty formatting
If the parameter is equal to `true` (in any case--`TRUE`, `True`) or
a positive integer, return pretty formatted JSON data.

No tests are necessary.
2013-11-15 09:19:25 -05:00
Hiro Asari
da62a6ce3c Pretty print JSON data
See travis-ci/travis-ci#1555.

JSON data are pretty-formatted for humans.
2013-11-14 21:29:33 -05:00
Piotr Sarnacki
d170b611b0 Connect logs to a different DB if config is present 2013-11-12 22:05:54 +01:00
Hiro Asari
fbf98f9ceb Tweak feed and entry's IDs 2013-11-11 15:43:47 -05:00
Hiro Asari
2645422fd3 Atom feed's date should conform to RFC 3339. 2013-11-11 15:32:41 -05:00
Hiro Asari
3b20120c72 Accept .atom extension
And return Atom feed for builds.
Specs look different, because it needs to explicitly handle the common
case where the client sends `Accept: */*`.
2013-11-11 15:21:14 -05:00
Hiro Asari
ea3a5a7a0d Encode commit message
So that HTML/XML tags in messages don't break the feed.
2013-11-11 14:14:56 -05:00
Hiro Asari
53d2e950b9 Set update element to RFC3339 format
This is required by the RFC.

http://tools.ietf.org/html/rfc4287#section-3.3
2013-11-11 13:56:10 -05:00
Hiro Asari
e945476c8d Prefer JSON to Atom feed
We should not break the current behavior when the client sends
`Accept: */*` HTTP header.
2013-11-11 11:42:48 -05:00
Hiro Asari
26bdd84ae6 Eradicate @builds
Unclear if ivar is beneficial here.
2013-11-11 11:39:06 -05:00
Hiro Asari
30b60283f8 Construct build result URL from parts
Currently, there is no easy way to grab this information from
the Build model.
So we need to construct it from various parts at our disposal.
2013-11-11 09:39:13 -05:00
Hiro Asari
148f2477e8 Use here-doc for Atom feed template
Rather than unnaturally re-reading __FILE__ and splitting,
use a here-doc to clarify the intent.
(Should also consider splitting it to a file.)
2013-11-11 09:03:23 -05:00
Hiro Asari
3fa96de682 WIP: Atom feed for /repos/:owner_name/:name/builds
See travis-ci/travis-core#82

TODO: Link to indivisual build.
TODO: Add specs.
TODO: Review `#apply?`
2013-11-11 09:03:23 -05:00
Piotr Sarnacki
82ceb4fd1f Require states_cache explicitly 2013-11-08 11:23:22 +01:00
Piotr Sarnacki
4c89e067ae Require models and amqp explicitly 2013-11-08 11:05:18 +01:00
Mathias Meyer
1462df6a7e Revert "Hide the /uptime endpoint in the docs."
This reverts commit 477f39a000.
2013-11-07 16:31:29 +01:00
Mathias Meyer
477f39a000 Hide the /uptime endpoint in the docs. 2013-11-07 15:53:59 +01:00
Mathias Meyer
65a806261c It's Travis CI. 2013-11-07 15:10:40 +01:00
Josh Kalderimis
f7450cdb6b removed the branches endpoint
we already have branch info accessible via the repos endpoints, having this at the root level doesn't make sense.
2013-11-06 01:40:42 +01:00
Josh Kalderimis
4deddc5843 add deprecation notice 2013-11-06 01:22:54 +01:00
Josh Kalderimis
92dc3f55ec add 'restart' to the build and job endpoints 2013-11-06 01:18:54 +01:00
Piotr Sarnacki
58f1284244 Merge pull request #85 from travis-ci/insufficient-oauth-redirect
Redirect to web client on insufficient oauth scopes
2013-11-05 05:31:25 -08:00
Josh Kalderimis
609a35ecc3 disabled for over a year, removed from api 2013-11-05 13:42:37 +01:00
Konstantin Haase
6f92f122b0 Merge pull request #90 from travis-ci/jk_remove_artifacts_endpoint
Remove deprecated artifacts endpoint
2013-11-05 04:23:04 -08:00
Konstantin Haase
419fe6fdf9 Merge pull request #88 from travis-ci/jk_remove_workers_endpoints
Remove old workers endpoints
2013-11-05 04:22:44 -08:00
Konstantin Haase
28c019c18d Merge pull request #89 from travis-ci/jk_remove_events_endpoints
Remove the events endpoint
2013-11-05 00:27:52 -08:00
Henrik Hodne
5f3e53da28 Update API docs to use new styles 2013-11-04 21:06:38 -06:00
Josh Kalderimis
26edaf644f remove deprecated artifacts endpoint 2013-11-05 01:05:21 +01:00
Josh Kalderimis
54060dbfc6 removed the events endpoint
it isn't used, and there are no tests, i think it's safe to remove
2013-11-05 00:18:14 +01:00
Josh Kalderimis
342df12b14 remove old workers endpoints 2013-11-04 19:24:17 +01:00
Konstantin Haase
44e1db3944 add API endpoints for listing and deleting caches 2013-11-04 10:23:22 +01:00
Piotr Sarnacki
87674f52bb Redirect to web client on insufficient oauth scopes 2013-10-29 14:27:21 +01:00
Josh Kalderimis
0c3b4d60eb Merge pull request #79 from travis-ci/hh-xml-responder-nil-last-build
Only allow XML response if repo has a build
2013-10-27 10:02:10 -07:00
Josh Kalderimis
542b1ffc80 Merge pull request #83 from travis-ci/hh-cancel-job-wrong-namespac
Move /jobs/:id/cancel to /jobs
2013-10-27 10:01:02 -07:00
Henrik Hodne
824f9cd21d Move /jobs/:id/cancel to /jobs 2013-10-27 01:06:26 -05:00
Konstantin Haase
02c10fe7cb Merge pull request #81 from travis-ci/hh-auth-race-condition
Handle race condition with creating users more nicely
2013-10-26 06:48:12 -07:00
Konstantin Haase
3c8721eac3 Merge pull request #82 from travis-ci/hh-handle-json-parsererrors
Handle JSON parsing errors
2013-10-26 06:47:52 -07:00
Henrik Hodne
dd5cf36eee Handle JSON parsing errors 2013-10-26 08:39:31 -05:00
Henrik Hodne
c64a006f1d Handle race condition with creating users more nicely 2013-10-26 08:33:57 -05:00
Henrik Hodne
65267795f1 Only allow image responses for repositories 2013-10-26 08:19:01 -05:00
Henrik Hodne
44f274d306 Only allow XML response if repo has a build 2013-10-26 08:14:40 -05:00
Henrik Hodne
8f4dd0d2df Respond with 422 if /auth/github does not get a token
Fix #77
2013-10-23 19:35:03 -05:00
Piotr Sarnacki
0cdfa8240c Add source to cancel_build/job 2013-10-16 17:39:31 +02:00
Konstantin Haase
096d08c102 add /repos/:owner_name, fixes travis-ci/travis-ci#1496 2013-10-15 12:24:07 +02:00
Josh Kalderimis
8ccf48fa2a remove the log PUT endpoint, no longer needed 2013-10-05 19:10:09 +02:00
Konstantin Haase
6f72b2cb6b find_branch(es) expects parameter to be called repository_id 2013-10-03 17:25:40 +02:00
Konstantin Haase
93277035cd add repo endpoints for fetching branches 2013-10-03 16:32:30 +02:00
Piotr Sarnacki
d7d2fd5149 Merge pull request #74 from halorgium/fix-error-response
Use valid JSON for error responses
2013-09-23 09:53:55 -07:00
Piotr Sarnacki
cbb99afe89 Check for development rather than production to make it work on staging 2013-09-20 14:09:23 +02:00
Piotr Sarnacki
0681e54cf1 Run CORS middleware in development 2013-09-20 12:47:14 +02:00
Piotr Sarnacki
a49265f872 Disable follower for now 2013-09-10 12:05:18 +02:00
Piotr Sarnacki
1a3ab7f2a7 Always use follower if it's available 2013-09-06 19:49:16 +02:00
Piotr Sarnacki
e587ef0b7f Add nginx config with CORS support 2013-09-05 22:48:42 +02:00
Piotr Sarnacki
fc13284591 Revert "We don't need Rack::Deflater, nginx is doing the job"
This reverts commit 59cd6bac8f.
2013-09-04 21:39:41 +02:00
Piotr Sarnacki
b484a19f27 Prefer follower also for /repos/id and repos list 2013-09-04 20:32:30 +02:00
Piotr Sarnacki
59cd6bac8f We don't need Rack::Deflater, nginx is doing the job 2013-09-04 20:31:36 +02:00
Piotr Sarnacki
2492d710e1 Use new follower API added to Travis::Model 2013-09-04 16:22:32 +02:00
Piotr Sarnacki
d133528893 Use follower for /builds and /jobs 2013-09-03 14:45:12 +02:00
Piotr Sarnacki
dae72e62a8 Use memcachier gem 2013-09-02 13:46:32 +02:00
Piotr Sarnacki
85275895e7 Require dalli before rack/cache 2013-09-02 13:43:14 +02:00
Piotr Sarnacki
d1a6ff7b49 Use MEMCACHIER_SERVERS 2013-09-02 13:41:13 +02:00
Piotr Sarnacki
d549ead325 Fix wrong memcache servers code 2013-09-02 13:23:50 +02:00
Piotr Sarnacki
94922cd625 Start new relic manually 2013-09-02 12:29:13 +02:00
Piotr Sarnacki
0c3e12dfa3 Revert "Disable new relic"
This reverts commit 6412a07ad1.
2013-09-02 11:54:00 +02:00
Piotr Sarnacki
97958a4ce4 Try nginx 2013-09-02 09:52:26 +02:00
Piotr Sarnacki
6412a07ad1 Disable new relic 2013-09-02 09:51:45 +02:00
Tim Carey-Smith
7e8e212321 Use valid JSON for error responses 2013-09-01 23:55:11 +12:00
Mathias Meyer
9d26844eaa Add tests for /uptime. 2013-08-26 17:29:10 +02:00
Mathias Meyer
618241a458 Add an uptime endpoint for Pingdom.
Sends a simple database query to see if we can still connect
to the database. Should help us detect issues like yesterday's
EC2 issues earlier.
2013-08-26 15:30:07 +02:00
Konstantin Haase
c7c33ed2aa also treat empty content type as no content type 2013-08-23 17:39:47 +02:00
Konstantin Haase
60d37634b2 handle missing content-type 2013-08-23 17:10:51 +02:00
Konstantin Haase
e1bcd8d2b1 use timer 2013-08-23 16:59:25 +02:00
Konstantin Haase
d7d6ffc4da meter content-type 2013-08-23 16:53:49 +02:00
Mathias Meyer
d141256671 Revert my puny changes for now.
Will be fixed in travis-web.
2013-08-22 15:21:09 +02:00
Mathias Meyer
8bde2ddb10 blank 2013-08-22 15:05:45 +02:00
Mathias Meyer
7fb90f3975 end end 2013-08-22 15:02:39 +02:00
Mathias Meyer
c711002577 Only return empty builds hash when there are no ids present. 2013-08-22 14:59:19 +02:00
Mathias Meyer
3a90f08d3b Disable the /builds endpoint for now. 2013-08-22 14:49:24 +02:00
Piotr Sarnacki
37ca20b61c Measure cancel request on the beginning of the request 2013-08-21 11:57:00 +02:00
Piotr Sarnacki
526129b5be Add more metriks (cancel build/job and restart build/job) 2013-08-21 11:38:29 +02:00
Piotr Sarnacki
f6f8cd9bff Merge branch 'ps-cancel' 2013-08-14 11:04:14 +02:00
Piotr Sarnacki
f19de9d134 Implement jobs/:id/cancel and builds/:id/cancel endpoints 2013-08-08 14:25:20 +02:00
Henrik Hodne
a87b4238b4 Remove call to Travis::Features.start
This was deprecated in
travis-ci/travis-core@53ab3c39d8.
2013-08-05 15:13:28 -07:00
Piotr Sarnacki
e093fde18c Return error with application/json content type by default 2013-08-05 12:10:02 +02:00
Konstantin Haase
1c149bcdb4 use client_domain in config 2013-08-03 14:36:42 +02:00
Piotr Sarnacki
207a6e3e04 Explicitly use self when using info in Authorization 2013-07-27 01:42:14 +02:00
Piotr Sarnacki
c4ebb3d922 Merge branch 'rename-fixes'
Conflicts:
	Gemfile.lock
	lib/travis/api/app/endpoint.rb
2013-07-23 17:08:17 +02:00
Piotr Sarnacki
c194f25a24 Set json content type only when content type is not set 2013-07-16 19:56:53 +02:00
Piotr Sarnacki
8e1a855812 Don't set content type to JSON by default 2013-07-16 19:30:16 +02:00
Konstantin Haase
04ea79ceec fix time parsing 2013-07-11 18:31:29 +02:00
Konstantin Haase
40acdfba4f Revert "also support X-Request-Start"
This reverts commit 63b4ac3338.
2013-07-11 18:28:44 +02:00
Konstantin Haase
63b4ac3338 also support X-Request-Start 2013-07-11 18:22:52 +02:00
Konstantin Haase
03d124d1b7 metrics for request queue 2013-07-11 18:13:23 +02:00
Konstantin Haase
8707f3b357 set X-Middleware-Start for NewRelic 2013-07-11 17:49:21 +02:00
Konstantin Haase
2c361e4292 drop rack-timeout 2013-07-11 17:27:32 +02:00
Konstantin Haase
60af7546a2 add rack-timeout 2013-07-11 16:37:02 +02:00
Henrik Hodne
be2c538d9e Rename metadata => annotations 2013-07-10 16:55:03 -07:00
Henrik Hodne
16a73d9e0b Add PUT /jobs/:id/metadata endpoint 2013-07-09 18:41:47 -07:00
Henrik Hodne
b103a7ccb1 Add GET /jobs/:job_id/metadata endpoint 2013-07-09 18:15:32 -07:00
Piotr Sarnacki
3508f25bdf Nullify logins and rename repos owner when updating/creating user 2013-07-10 01:38:10 +02:00
Piotr Sarnacki
b6a351c766 Convert params['ids'] to array
Services like find_builds can accept :ids as a param, but it needs to be
an array, string will be passed to find and converted into integer.
2013-07-09 15:18:31 +02:00
Mathias Meyer
e6b61f92f4 Return 420 to a blacklisted client. 2013-07-09 11:37:37 +02:00
Mathias Meyer
a46488078f Add rack-attack, block one client who's hammering us. 2013-07-09 11:02:38 +02:00
Mathias Meyer
ecb60f0050 Extract metric from endpoint and pattern. 2013-06-26 15:06:54 +02:00
Mathias Meyer
d4130312c2 Add a global timer for all requests. 2013-06-26 13:47:38 +02:00
Mathias Meyer
ba97ebcfff Use accept_version. 2013-06-10 14:58:38 +02:00
Mathias Meyer
1ba02d8e2b Track API version. 2013-06-10 14:50:36 +02:00
Mathias Meyer
49015050c1 Merge branch 'master' into rkh-metrics
Conflicts:
	Gemfile.lock
2013-06-10 08:23:42 +02:00
Henrik Hodne
277f0c2f72 Whitelist travis-lite for authentication 2013-06-04 21:57:09 +02:00
Mathias Meyer
5971946d35 Use our own middlewares explicitly. 2013-05-18 11:11:43 +02:00
Mathias Meyer
63d2a69b7d Only track endpoint if an endpoint is set.
For compatibility with the V1 API layer.
2013-05-09 14:18:59 +02:00
Mathias Meyer
78608b81ae Lmao if you Object#method. 2013-05-09 14:13:33 +02:00
Mathias Meyer
729ec6e7fa Require 'metriks'. 2013-05-09 14:04:25 +02:00
Mathias Meyer
c3249a498c Fix Metriks reference. 2013-05-09 13:44:08 +02:00
Mathias Meyer
0cd89de38a Merge branch 'master' into rkh-metrics
Conflicts:
	Gemfile.lock
2013-05-09 13:37:28 +02:00
Piotr Sarnacki
d276cd5b32 Return Oauth headers even if none scope was matched
If an endpoint specifies more than one scope and none of the scopes from
access token matches, return oauth headers for the first of the scopes
2013-05-08 14:11:03 +02:00
Piotr Sarnacki
3b299cfec7 Allow to pass required_params to token
required_params will be matched with actual params to check if the token
may be used for authorization. For example if { job_id: 44 } is passed
as a required param, the token will be rejected for GET /jobs/33
2013-05-08 14:11:03 +02:00
Piotr Sarnacki
56d61ed461 Allow to pass extra params for tokens 2013-05-08 14:11:02 +02:00
Piotr Sarnacki
ee64af14d5 Allow to specify more than one scope for an endpoint 2013-05-08 14:11:02 +02:00
Piotr Sarnacki
1340fdb316 Allow to pass additional responders to respond_with 2013-05-08 14:11:02 +02:00
Piotr Sarnacki
01356df26f Implement expiring access tokens 2013-05-08 14:11:02 +02:00
Piotr Sarnacki
935288e8e9 Don't load octopus if there is no need 2013-05-05 00:27:10 +02:00
James Dennes
c5b73b1ecc s/autorization/authorization/ 2013-05-03 12:16:12 +02:00
Josh Kalderimis
cd7cce54b5 add some output when the db follower is setup 2013-05-03 10:31:53 +02:00
Josh Kalderimis
a949b58d98 merging all the things 2013-05-03 10:12:16 +02:00
Josh Kalderimis
407a08f644 only use the db follower if use_database_follower is set in the config 2013-05-03 09:42:07 +02:00
Josh Kalderimis
23f3edc60c move the db follower usage to a helper 2013-05-03 09:21:48 +02:00
Piotr Sarnacki
f6d781c248 Enable octopus 2013-05-03 00:43:57 +02:00
Josh Kalderimis
10c8d4b95f hit my head against a wall 2013-05-03 00:43:22 +02:00
Josh Kalderimis
4ea1079d39 turn on octopus in staging 2013-05-03 00:43:22 +02:00
Josh Kalderimis
135008f1ea only add the shards info if in prod mode 2013-05-03 00:43:22 +02:00
Josh Kalderimis
e6f1e22ae8 octopus is on in production by default only 2013-05-03 00:43:22 +02:00
Josh Kalderimis
76e55c0125 i don't think this is the best solution 2013-05-03 00:43:20 +02:00
Josh Kalderimis
a0a92b23fa change the require order 2013-05-03 00:42:30 +02:00
Josh Kalderimis
48c8e8c2a5 merging stuff and fun 2013-05-02 20:06:19 +02:00
Piotr Sarnacki
cd9e089631 Enable octopus 2013-05-02 19:48:23 +02:00
Josh Kalderimis
6feed54684 hit my head against a wall 2013-05-02 19:16:52 +02:00
Josh Kalderimis
1a8b60cc98 turn on octopus in staging 2013-05-02 18:50:59 +02:00
Josh Kalderimis
69b8dff382 only add the shards info if in prod mode 2013-05-02 18:44:27 +02:00
Josh Kalderimis
d72f6ca02d octopus is on in production by default only 2013-05-02 18:23:41 +02:00
Josh Kalderimis
f4132786a6 i don't think this is the best solution 2013-05-02 18:05:32 +02:00
Josh Kalderimis
de6cb2c163 change the require order 2013-05-02 17:21:56 +02:00
Josh Kalderimis
ab2714621f i wonder what i am doing wrong with octopus 2013-05-02 17:08:31 +02:00
Josh Kalderimis
afddbb76ba require octopus 2013-05-02 16:45:34 +02:00
Josh Kalderimis
fa6ea0692d use a follower for one of the repos endpoint 2013-05-02 16:38:20 +02:00
Konstantin Haase
6b2a1a0da8 do not use client credentials for /auth/github 2013-04-24 16:47:52 +02:00
Konstantin Haase
d07f289047 whitespace 2013-04-19 15:52:44 +02:00
Piotr Sarnacki
a830d17554 Fix newrelic
I updated newrelic to beta version, which fixed problems with starting
the dispatcher in some of the environments.
2013-04-17 23:44:51 +02:00
Piotr Sarnacki
426859a7a1 Don't require newrelic in base.rb 2013-04-16 20:37:04 +02:00
Piotr Sarnacki
f4cb2caed0 Try to always require newrelic_rpm 2013-04-16 20:24:18 +02:00
Piotr Sarnacki
2a19cd5bfa Revert "disable new relic"
This reverts commit 48cf45c5f6.
2013-04-16 20:01:14 +02:00
Mathias Meyer
cd98231c42 Add Middle ware for tracking metriks. 2013-04-16 19:47:20 +02:00
Henrik Hodne
6d0aad47ec Update example payloads 2013-04-15 14:11:58 -05:00
Henrik Hodne
a18f211f6f Merge pull request #25 from henrikhodne/add-responses-to-documentation
Add responses to documentation
2013-04-15 02:44:31 -07:00
Henrik Hodne
e38b40e00a Update docs style to look more like the main docs site 2013-04-15 02:04:50 -05:00
Henrik Hodne
6f5f7d0073 Add responses to repository endpoints 2013-03-26 20:41:23 -05:00
Henrik Hodne
c1aaeeee32 Add a way to add responses to documentation
You can add a predefined JSON response by entering
"json(:resource_name)" in the docstring. This will then be replaced
with the resource with the same name, found in
lib/travis/api/app/endpoint/documentation/resources.rb.
2013-03-26 20:40:35 -05:00
Piotr Sarnacki
887c835bd4 Use client_domain instead of domain for url in CC.xml 2013-03-25 16:53:20 +01:00
Piotr Sarnacki
15dd13ba02 Merge branch 'pr/46' 2013-03-25 16:40:08 +01:00
Piotr Sarnacki
f3ceee9b28 Always set content_type in responder 2013-03-25 16:39:37 +01:00
Andre Arko
2935050395 https is better 2013-03-25 16:16:42 +01:00
Andre Arko
c57e9cbcc6 valid URLs in cc.xml Project webUrl 2013-03-25 16:09:37 +01:00
Piotr Sarnacki
61142c7cf6 Return 404 unless we can find API builder for resource
In order to protect us from rendering a resource simply converted to
json, without processing it with API data class, this commit changes
JSON responder behavior to render 404 if we can't find associated data
class. The only exception to that rule is when resource is already a
Hash, meaning that it was processed before - we sometimes return for
example simple Hash responses like { result: true }.

The Hash exception could allow to accidentally pass resource.as_json to
responder, but in travis-ci/travis-support@124b8b6 I disabled default
as_json method on AR::Base classes, so the risk of such mistake is
lowered.
2013-03-24 19:49:28 +01:00
Piotr Sarnacki
2efd1cb9a6 It's .deploy-sha, not .deploy_sha 😡 2013-03-16 16:42:52 +01:00
Piotr Sarnacki
7099331907 Read .deploy-sha file from the proper path 2013-03-16 15:34:59 +01:00
Piotr Sarnacki
705927ff74 Don't error out if xml is requested with something else than repo 2013-03-12 12:08:43 +01:00
Piotr Sarnacki
54a6926aaf Properly handle non existent resources
This commit changes travis-api to always return 404 response if resource
is not available. Previously we were returning image/png with "unknown"
status instead if user used "*/*" Accept header, which was confusing.
2013-03-11 23:52:57 +01:00
Piotr Sarnacki
b6f3ef10aa Resource can be nil in Responders::Image 2013-03-11 20:57:45 +01:00
Piotr Sarnacki
04bb751b02 When serving image, return proper Last-Modified header 2013-03-11 20:54:24 +01:00
Henrik Hodne
63155e65b6 Fix link to travis-web
Fix #55
2013-03-03 18:27:29 -06:00
Piotr Sarnacki
5345ef818e Use version from each of the accept headers, not only first one 2013-02-25 17:28:24 +01:00
Piotr Sarnacki
5f91706e64 Allow to pass version as Accept param 2013-02-25 17:28:24 +01:00
Piotr Sarnacki
36783e6359 Handle chunked=true param in Accept header 2013-02-25 17:28:24 +01:00
Piotr Sarnacki
65b1e6b988 Respond with 406 if we can't return requested formats 2013-02-25 17:27:56 +01:00
Piotr Sarnacki
212eb6d9d3 Allow passing more than one mime type in Accept 2013-02-25 17:27:56 +01:00
Piotr Sarnacki
1d7be066cb Make it easy to check if Accept::Entry accepts given mime type 2013-02-25 17:27:56 +01:00
Piotr Sarnacki
c9e99cf2cf Allow more than one type in Accept header 2013-02-25 17:27:56 +01:00
Konstantin Haase
2e6865d55f don't run metrics etc in heroku console 2013-02-14 19:12:26 +01:00
Konstantin Haase
48cf45c5f6 disable new relic 2013-02-13 17:55:11 +01:00
Sven Fuchs
7e005aad1b use travis-core/sf-log-models 2013-02-10 21:30:50 +01:00
Piotr Sarnacki
0eadcfedbd Use redis for sidekiq from config also on staging 2013-02-06 14:20:03 +01:00
Sven Fuchs
b8dfb1cd00 auth PUT to /artifacts/:id 2013-01-30 08:50:27 +01:00
Piotr Sarnacki
260c46181d Add hack to allow handling redirect to logs on the client properly.
This hack is temporary and should be removed when we find better
solution.

TL;DR: we can't handle redirects to S3 using CORS, so in case we want to
get logs from S3 without additional requests to API, we need to return
status that will not be automatically redirected (in this case 204 seems
like the best answer).

Longer rationale:

Old logs are hosted on S3 now and in case log is not available in the
database, we would like to redirect to the archived log. Although S3
support CORS, our use case breaks on some browsers:

  * when request is triggered to /jobs/:id/log and log is archived, api
    returns 302 redirect, Location header points to the log on S3
  * browser transparently redirects to given url, but it sets Origin to
    null, for security reasons
  * "Origin: null" is ok, because we allow every origin by setting
    AllowedOrigin to "*"
  * S3 returns "Access-Control-Allow-Origin: null" header, which breaks
    some browsers (I confirmed it for webkit based browsers)

In order to fix this, S3 would need to return * in
Access-Control-Allow-Origin header or we would need to tell the browser
to not follow redirect. Both solutions are not achiveable.

Another option would be to return log information in job payload - we
could send log_url field which should be either log url on amazon or
null, but in such case we would need to query artifacts table in each
job request. This is something that should be avoided as archived logs
are not frequently requested - slowing down every request to get info
for it would be a waste.
2013-01-29 03:51:22 +01:00
Piotr Sarnacki
489a33cbf6 Try 307 redirect on /logs.txt 2013-01-28 19:05:07 +01:00
Konstantin Haase
62b876d2e1 keep query string when redirecting in rewrite middleware 2013-01-28 15:47:28 +01:00
Piotr Sarnacki
a565522f41 Redirect to full amazon url
Amazon can't work properly with SSL and CNAME for subdomains. For now we
can use full amazon url.
2013-01-28 03:43:28 +01:00
Piotr Sarnacki
31371686c9 Redirect to archive logs 2013-01-28 03:04:36 +01:00
Sven Fuchs
b81644acba comment out put to /artifacts/:id for now 2013-01-26 20:44:04 +01:00
Sven Fuchs
4ea95494de allow put to /artifacts/:id 2013-01-26 20:44:04 +01:00
Sven Fuchs
598a586ed4 don't start metrics logger etc unless in production 2013-01-26 20:43:54 +01:00
Sven Fuchs
d441336573 expose logs on /job/:id/log.txt 2013-01-26 20:43:54 +01:00
Piotr Sarnacki
f2d768080f Return last builds on each branch for /builds?branches=true
This is a hack to fix travis-ci/travis-web#123 easier. A proper solution
would be to refactor how /branches work.
2013-01-26 01:12:47 +01:00
Piotr Sarnacki
46eefaf26d Fix syntax error 2013-01-26 00:02:15 +01:00
Konstantin Haase
85e8f27047 hotfix for strange bug 2013-01-25 22:13:33 +01:00
Konstantin Haase
bde974e182 Revert "disable newrelic"
This reverts commit 48cc0d366a.
2013-01-25 22:11:53 +01:00
Konstantin Haase
48cc0d366a disable newrelic 2013-01-25 11:40:41 +01:00
Konstantin Haase
01c585e189 I have no idea 2013-01-25 11:29:05 +01:00
Sven Fuchs
37dd125a8c start notifications 2013-01-23 22:17:40 +01:00
Konstantin Haase
07c5f6b61f add extension that keeps track of route pattern 2013-01-23 15:22:06 +01:00
Sven Fuchs
ee11e571b7 pass the api payload type for workers because we now do not return AR scopes any more 2013-01-23 02:44:30 +01:00
Konstantin Haase
593920ce81 add Pragma header for caches that do not understand Cache-Control, see #38 2013-01-21 21:18:16 +01:00
Konstantin Haase
1dd3324350 add /users/:id 2013-01-21 12:16:51 +01:00
Sven Fuchs
92a3d17ebf use travis-core/sf-restart-event 2013-01-17 19:06:34 +01:00
Piotr Sarnacki
e6899b3ce6 Allow to remove ansi chars from plain text log 2013-01-15 02:27:06 +01:00
Piotr Sarnacki
70cd6ef092 Allow to download logs in plain text 2013-01-15 02:23:02 +01:00
Konstantin Haase
01fe983a0c pass if scope does not match 2013-01-13 20:08:56 +01:00
Konstantin Haase
cc2a1cd50e do not require user scope for /auth/github 2013-01-11 17:48:30 +01:00
Konstantin Haase
3d6defe3b1 do not store token from /auth/github 2013-01-11 16:49:08 +01:00
Konstantin Haase
ada6ee0f2c fix scope check 2013-01-11 16:20:53 +01:00
Konstantin Haase
e7be49dcb1 fix the payload 2012-12-17 20:22:51 +01:00
Konstantin Haase
f878eee987 fix logging 2012-12-17 20:06:45 +01:00
Konstantin Haase
b3b5476076 first think, then commit 2012-12-17 19:26:58 +01:00
Konstantin Haase
9a1988d586 fix template 2012-12-17 19:22:33 +01:00
Konstantin Haase
f5fdcc41c6 fix token logic 2012-12-17 15:35:35 +01:00
Konstantin Haase
8c8f031259 have travis token added to user payload on the server 2012-12-17 15:13:38 +01:00
Sven Fuchs
c44445d8e2 use the api serializer to serialize a user record 2012-12-17 01:40:16 +01:00
Konstantin Haase
b005047d95 rename token parameter to github_token for /auth/github 2012-12-12 18:30:55 +01:00
Konstantin Haase
bc1c960c20 add travis_token scope 2012-12-12 17:11:25 +01:00
Sven Fuchs
0e58055a0e Merge branch 'master' of github.com:travis-ci/travis-api 2012-12-12 15:19:41 +01:00
Sven Fuchs
de16fb07f8 test result images based on the content-disposition header, fix content-disposition header 2012-12-12 15:19:27 +01:00
Konstantin Haase
44d6c02591 actually check if github sent a token 2012-12-10 15:49:37 +01:00
Konstantin Haase
3d8c9ed914 use localStorage after handshake 2012-12-10 14:03:31 +01:00
Piotr Sarnacki
88363423f4 Fix whitelist auth check for localhost 2012-12-09 23:46:18 +01:00
Sven Fuchs
a9bf43c1fd always use etag for caching when cache_key or updated_at are present, add the deploy_sha as a cache buster 2012-12-09 19:22:33 +01:00
Sven Fuchs
d113833e9a fix xml responder and result image specs 2012-12-09 16:02:00 +01:00
Sven Fuchs
f19f5f9879 check redis for :use_rack_cache 2012-12-09 15:16:50 +01:00
Sven Fuchs
6d12070fba use Repository::StatusImage 2012-12-09 15:16:50 +01:00
Konstantin Haase
83e42adc65 that did not work 2012-12-06 16:55:58 +01:00
Konstantin Haase
2250d1ba5c only send user payload 2012-12-06 16:51:33 +01:00
Konstantin Haase
981a32f877 fix setTimeout 2012-12-06 16:24:37 +01:00
Konstantin Haase
24ea1ca7c0 cheap escape 2012-12-06 16:05:36 +01:00
Konstantin Haase
7b4fe5dab3 no inspect 2012-12-06 15:52:49 +01:00
Konstantin Haase
af1aeb8147 set action and method 2012-12-06 15:40:29 +01:00
Konstantin Haase
afad81f927 Addressable::URI.parse might return nil 2012-12-06 15:34:13 +01:00
Konstantin Haase
ee1f9d899d set content type 2012-12-06 15:24:46 +01:00
Konstantin Haase
cd9d84783d fix regex 2012-12-06 15:20:23 +01:00
Konstantin Haase
3b84b83699 post data for targets we know 2012-12-06 15:08:27 +01:00
Konstantin Haase
ac318df762 Merge branch 'master' into rkh-better-login 2012-12-06 14:47:15 +01:00
Konstantin Haase
497eebab94 simplify popup check 2012-12-05 15:10:28 +01:00
Konstantin Haase
811aa47098 rewrite post message login 2012-12-05 14:09:56 +01:00
Mathias Meyer
142fad9b81 Hook up activerecord metrics log subscriber. 2012-12-05 11:11:18 +01:00
Mathias Meyer
ecd236a8ff Add metriks. 2012-12-05 11:11:18 +01:00
Konstantin Haase
d3ed96f165 trigger redirect 2012-12-04 14:39:50 +01:00
Piotr Sarnacki
440dacece3 Add endpoints for key regeneration
Enpoints are:

    POST /repos/:id/key

and

    POST /repos/:owner/:name/key

Both versions will replace current ssl key for given repo with the new
one.
2012-12-03 02:54:01 +01:00
Konstantin Haase
a62948b047 make /key public again 2012-12-02 20:39:54 +01:00
Konstantin Haase
5d515f3b8a enforce v2 for /key 2012-12-02 20:21:19 +01:00
Konstantin Haase
0d7db43c7a set scope 2012-12-02 19:47:24 +01:00
Henrik Hodne
6f534d388e Note endpoints that are not yet implemented 2012-11-28 18:10:55 -06:00
Sven Fuchs
24b6843bda Merge branch 'master' of github.com:travis-ci/travis-api
Conflicts:
	Gemfile.lock
2012-11-27 15:23:22 +01:00
Sven Fuchs
aff75592e3 don't set services manually 2012-11-27 15:22:23 +01:00
Piotr Sarnacki
65637c5731 Add endpoint for getting repo public key 2012-11-26 02:26:34 +01:00
Piotr Sarnacki
76a4becb55 Add prefix for Rack::Cache 2012-11-25 23:48:39 +01:00
Sven Fuchs
e383193323 renamed service to requeue_request 2012-11-24 14:43:21 +01:00
Sven Fuchs
fcf8768294 it's request_requeue, not requeue_request 2012-11-23 21:23:13 +01:00
Sven Fuchs
6dd2399118 use Services::Helpers 2012-11-23 21:16:21 +01:00
Sven Fuchs
353b5fa502 use registered services 2012-11-23 21:16:10 +01:00
Konstantin Haase
31da89380a implement auth timeout 2012-11-18 21:10:49 +01:00
Konstantin Haase
448501be3a add logging 2012-11-18 19:53:05 +01:00
Piotr Sarnacki
a787f32e52 Use document.createElement('iframe') instad of document.write 2012-11-18 14:47:56 +01:00
Piotr Sarnacki
07d965307f Remove actions for cookie check, we don't use them anymore 2012-11-18 14:47:13 +01:00
Piotr Sarnacki
3cb9dd89cd Use third-party-cookies.herokuapp.com for cookie check 2012-11-18 14:39:34 +01:00
Piotr Sarnacki
33dced826b Popup should be open only if thirdPartyCookies are disabled 2012-11-18 13:32:36 +01:00
Konstantin Haase
bbbe0e0c67 fix typo 2012-11-18 13:18:20 +01:00
Konstantin Haase
a7c0b84c35 fix urls 2012-11-18 13:08:24 +01:00
Konstantin Haase
b5760abd2b fix template 2012-11-18 12:59:33 +01:00
Konstantin Haase
46c55bc400 sinatrafy 2012-11-18 12:06:57 +01:00
Piotr Sarnacki
707b2c68e8 Check if third party cookies are enabled to choose login method 2012-11-17 21:12:02 +01:00
Konstantin Haase
2b3579e6dd first stab at a popup flow 2012-11-17 17:55:21 +01:00
Konstantin Haase
eabc178dec allow post message login from a pop-up 2012-11-17 14:59:21 +01:00
Henrik Hodne
eaf28bec33 Add documentation to /repos
This documents what @drogus mentioned here:
https://github.com/travis-ci/travis-ci/issues/503#issuecomment-10447864
2012-11-16 10:44:45 -06:00
Konstantin Haase
946e734d98 need to check scopes before storing token 2012-11-15 16:59:17 +01:00
Piotr Sarnacki
f0f471f1c6 Fix updating github oauth token after signing in 2012-11-12 17:15:28 +01:00
Piotr Sarnacki
662697953e Pass also travis token in /auth/post_message 2012-11-11 20:39:59 +01:00
Piotr Sarnacki
2f21def4a1 Use API v1 by default 2012-11-11 20:39:59 +01:00
Konstantin Haase
d39f2eef07 add cc path 2012-11-08 14:36:39 +01:00
Konstantin Haase
7f6df5f8b1 Merge branch 'master' of github.com:travis-ci/travis-api 2012-11-08 14:34:21 +01:00
Konstantin Haase
e1110034d1 prefix env key 2012-11-08 14:31:18 +01:00
Mathias Meyer
3fc6059d03 require 'raven' 2012-11-07 11:54:50 +01:00
Mathias Meyer
612b7f1e9f Switch to sentry for exceptions. 2012-11-07 11:46:43 +01:00
Mathias Meyer
901d936531 Set up Sidekiq properly. 2012-11-07 10:59:13 +01:00
Mathias Meyer
b07667c52a Set up sidekiq. 2012-11-07 10:55:45 +01:00
Mathias Meyer
308ce72aee Bump travis-core. Start features on app boot. 2012-11-07 10:43:25 +01:00
Piotr Sarnacki
2f87153df9 Move CORS middleware in front of the stack
If there is an error somewhere along the line (like in DB connection
management), it should not interfere with returning proper result for
OPTIONS request. Otherwise it's hard to guess why the actual request in
the browser was not properly sent.
2012-11-05 21:48:13 +01:00
Piotr Sarnacki
505b2fb911 No need to revalidate if resource is final 2012-11-01 16:15:06 +01:00
Piotr Sarnacki
e2b49a91d6 Use AR's ConnectionManagement before AR::QueryCache
(closes #14)
2012-11-01 13:05:49 +01:00
Piotr Sarnacki
37e6262917 Don't show backtraces on errors 2012-11-01 00:04:08 +01:00
Konstantin Haase
6c911407f0 make allowed_targets an option 2012-10-29 18:51:27 +01:00
Piotr Sarnacki
eac77c8a3b Fix cache_control 2012-10-24 20:49:06 +02:00
Piotr Sarnacki
30d7b90592 Fix new relic 2012-10-24 20:49:06 +02:00
Konstantin Haase
a3db22fa69 force no-cache 2012-10-24 00:24:26 +02:00
Konstantin Haase
778acbf275 improve caching logic 2012-10-23 22:00:06 +02:00
Konstantin Haase
ca47b31904 don't cache non-final services 2012-10-23 21:49:34 +02:00
Konstantin Haase
73eea4d51b always call setup 2012-10-22 23:53:41 +02:00
Sven Fuchs
c2e06293a0 fix target_ok? regexp 2012-10-21 18:21:15 +02:00
Sven Fuchs
876564ca12 Merge branch 'master' of github.com:travis-ci/travis-api
Conflicts:
	Gemfile.lock
2012-10-19 16:03:47 +02:00
Sven Fuchs
5321943dfd rename accounts service 2012-10-19 15:58:21 +02:00
Konstantin Haase
720cbef577 allow underscore and dash in subdomains 2012-10-18 23:49:15 +02:00
Sven Fuchs
3af9670190 add a broadcasts endpoint 2012-10-18 04:09:59 +02:00
Konstantin Haase
6252deadee improve caching headers 2012-10-17 18:51:11 +02:00
Sven Fuchs
558847f655 add missing file 2012-10-16 02:14:55 +02:00
Sven Fuchs
270c2fb82d re-add flash messages 2012-10-14 15:11:05 +02:00
Sven Fuchs
dd2c469443 need to require active_record for the exception class 2012-10-13 18:28:28 +02:00
Sven Fuchs
a74a7121d1 rename to signed_in? 2012-10-13 18:27:44 +02:00
Sven Fuchs
6e343099b4 set the scope for /post_message to :public (@rkh: confim?) 2012-10-13 03:31:08 +02:00
Sven Fuchs
272c1275f4 add activerecord query cache 2012-10-12 01:51:59 +02:00
Sven Fuchs
209dbe2a85 rename services, remove service helpers 2012-10-12 01:28:35 +02:00
Sven Fuchs
02f5eea4fc try using rack/cache with memcached 2012-10-11 15:04:24 +02:00
Sven Fuchs
f4d467c998 whitelist Cache-Control, Expires, Last-Modified for cors 2012-10-11 13:36:30 +02:00
Sven Fuchs
e6b44ff1eb add http headers for services that respond to caching info 2012-10-11 05:04:27 +02:00
Piotr Sarnacki
4f33a93769 Fix PUT /users/:id and add integration test for it 2012-10-11 01:00:53 +02:00
Sven Fuchs
8abd6fa150 manual redirects and rewrite rules for supporting v1 style resources 2012-10-10 01:48:22 +02:00
Sven Fuchs
f8bd49e88b on 404 redirect for /owner/name paths on v1 2012-10-10 01:47:12 +02:00
Sven Fuchs
a7d72beefc move responders out of helpers 2012-10-09 20:51:09 +02:00
Sven Fuchs
168c0abba9 rename Responder to Base (resembles Sinatra::Base and i can't come up with another name for a common base class of Middleware and Endpoint) 2012-10-09 18:31:51 +02:00
Sven Fuchs
903f249cfb moar refactoring on responders, fix specs 2012-10-09 18:28:46 +02:00
Sven Fuchs
494a85d968 refactor responders 2012-10-09 15:17:10 +02:00
Sven Fuchs
fa4c5db39b set default version to v2 for easier query/performance inspection for now 2012-10-08 13:22:36 +02:00
Sven Fuchs
2b290b9571 fix requests endpoint, routes order for permissions, raise on undefined builder 2012-10-07 16:58:01 +02:00
Sven Fuchs
8abc330937 add a user permissions endpoint 2012-10-06 22:36:42 +02:00
Sven Fuchs
c3428e896a add deflater, roger @rkh? 2012-10-05 21:54:01 +02:00
Sven Fuchs
4328ba8649 adapt services changes from travis-core 2012-10-05 13:06:50 +02:00
Sven Fuchs
6bda358786 cleanup and some notes 2012-10-03 13:14:01 +02:00
Sven Fuchs
ac8dd768ec fix sign in 2012-10-03 02:44:07 +02:00
Sven Fuchs
f6957636fb refactor to responders, add the cc.xml stuff 2012-10-03 02:19:16 +02:00
Sven Fuchs
5a6f34005c comment out result images for now since i cant get this to work 2012-10-02 21:12:41 +02:00
Sven Fuchs
7eceeb2842 moar work on acceptance tests 2012-10-02 19:10:29 +02:00
Sven Fuchs
289f7c1486 start porting api integration tests 2012-10-02 16:39:38 +02:00
Sven Fuchs
dfc6a1273e figure out the api version from HTTP_ACCEPT 2012-10-01 14:58:06 +02:00
Sven Fuchs
5ff58b1d6c adapt changes for split services 2012-09-29 20:48:31 +02:00
Konstantin Haase
ff4dd4d61b remove empty extension 2012-09-28 16:59:24 +02:00
Konstantin Haase
e99c5c2d4f move helpers around 2012-09-28 16:54:29 +02:00
Konstantin Haase
1f3c1ae8ce Merge branch 'master' into rkh-performance 2012-09-28 16:11:28 +02:00
Sven Fuchs
5271f21d3c Merge branch 'master' of github.com:travis-ci/travis-api 2012-09-27 22:54:26 +02:00
Sven Fuchs
fda18942dc fix locale param name 2012-09-27 22:54:17 +02:00
Konstantin Haase
6d1b6c0a82 Merge branch 'master' of github.com:travis-ci/travis-api 2012-09-27 22:28:39 +02:00
Sven Fuchs
8924ebffff it is service, not services 2012-09-27 21:58:24 +02:00
Sven Fuchs
81022ea7b4 rename endpoint to users and fix endpoint specs 2012-09-27 18:49:37 +02:00
Sven Fuchs
fbd89ceeb0 fix accounts and hooks endpoints 2012-09-27 17:14:50 +02:00
Sven Fuchs
f2e8ccafc1 remove /profile, add /user and /accounts 2012-09-27 16:19:21 +02:00
Konstantin Haase
4808981f4f allow using an oauth proxy 2012-09-27 15:27:26 +02:00
Sven Fuchs
b21deccf2d fix hooks 2012-09-26 12:33:51 +02:00
Sven Fuchs
6dc28f0c49 add Rack::PostBodyContentTypeParser and fix locale update 2012-09-26 11:58:57 +02:00
Sven Fuchs
f09cb3cac0 set the amqp configuration 2012-09-25 18:47:05 +02:00
Sven Fuchs
68caf0e26e add newrelic 2012-09-25 17:54:13 +02:00
Konstantin Haase
603c32b097 set vary header and cache documentation 2012-09-25 17:52:52 +02:00
Sven Fuchs
97e06c556f add hubble 2012-09-25 17:16:27 +02:00
Konstantin Haase
e8d2604ec3 add config endpoint 2012-09-23 01:43:51 +02:00
Konstantin Haase
70e5414b87 more documentation 2012-09-22 19:22:43 +02:00
Konstantin Haase
07038cd7a5 better origin check 2012-09-22 17:39:42 +02:00
Konstantin Haase
8954eaa081 actually trigger sync 2012-09-20 16:10:29 +02:00
Konstantin Haase
761e5dce61 make sync private again 2012-09-20 16:09:26 +02:00
Konstantin Haase
9fca38bc9c remove test route 2012-09-20 16:02:03 +02:00
Konstantin Haase
c212204ad0 more cors and jsonp docs 2012-09-20 15:18:30 +02:00
Konstantin Haase
fb992184a0 add jsonp 2012-09-20 14:53:16 +02:00
Konstantin Haase
da4f05901f more CORS docs 2012-09-20 14:43:15 +02:00
Konstantin Haase
016d929bc0 allow HEAD requests 2012-09-20 14:15:37 +02:00
Konstantin Haase
72dae6867c start working on general docs 2012-09-20 14:15:30 +02:00
Konstantin Haase
e9474652a8 add github ribbon to docs 2012-09-20 12:03:08 +02:00
Konstantin Haase
742583e8e9 make sure we don't leak the github oauth code via a referrer 2012-09-19 16:29:11 +02:00
Konstantin Haase
3ddb2da33b better docs for authorization 2012-09-19 15:30:46 +02:00
Konstantin Haase
d708b79e13 fix access token related tests 2012-09-19 10:23:57 +02:00
Konstantin Haase
f5af1923a6 set profile scope back to private 2012-09-19 10:19:20 +02:00
Konstantin Haase
a67b8bf1de create use if missing 2012-09-18 23:33:35 +02:00
Konstantin Haase
01e19e2888 use id rather than login for user 2012-09-18 22:21:38 +02:00
Sven Fuchs
d7095ea030 Merge branch 'sf-use-services' of github.com:travis-ci/travis-api into sf-use-services
Conflicts:
	lib/travis/api/app/endpoint/authorization.rb
2012-09-18 21:05:59 +02:00
Sven Fuchs
e8ab020af0 use Api for generating the user payload 2012-09-18 21:04:54 +02:00
Konstantin Haase
1a7a9daf46 add endpoint for initial authorization 2012-09-18 20:37:52 +02:00
Konstantin Haase
1e903129a3 set app_id 2012-09-18 19:50:05 +02:00
Konstantin Haase
3a64c87a7f send user data with post message 2012-09-18 19:15:12 +02:00
Konstantin Haase
759ad4d113 send messages after oauth handshake 2012-09-18 18:27:26 +02:00
Konstantin Haase
e9523dc21d use state to avoid handshake spoofing 2012-09-18 16:36:06 +02:00
Konstantin Haase
05acb00c2e reuse existing tokens for same app/scopes 2012-09-18 16:35:29 +02:00
Konstantin Haase
6606af4b43 start working on post_message auth flow
Conflicts:
	Gemfile.lock
2012-09-18 00:04:50 +02:00
Sven Fuchs
ea96905e8a un-private /profile 2012-09-18 00:04:20 +02:00
Sven Fuchs
3387c185fa fake sign in 2012-09-16 00:45:38 +02:00
Sven Fuchs
a8fc2f0e7a it's service, not services 2012-09-15 14:35:58 +02:00
Sven Fuchs
a2d195ecf9 actually turn these objects into json 2012-09-15 12:33:34 +02:00
Sven Fuchs
79e382ce0b add services 2012-09-15 12:10:46 +02:00
Sven Fuchs
1fdcec33a4 use services 2012-09-15 12:10:40 +02:00
Konstantin Haase
f05f841a46 move config around 2012-09-11 13:54:59 +02:00
Konstantin Haase
bff18a278c split up setup method 2012-08-24 18:28:08 +02:00
Konstantin Haase
17d053ac21 setup should not take options
otherwise options would be ignored for subsequent calls
2012-08-24 18:20:20 +02:00
Sven Fuchs
b3249ebb96 add a stats endpoint 2012-08-19 13:57:03 +02:00
Konstantin Haase
8eb7aa11ce better errors on missing token or not matching scope 2012-08-15 02:31:30 +02:00
Konstantin Haase
0eb8b9fed2 for some reason gh is not loaded in production 2012-08-15 01:33:47 +02:00
Konstantin Haase
8e179dde4d implement profile endpoint 2012-08-15 01:19:13 +02:00
Konstantin Haase
f05ea7198b fully implement access tokens 2012-08-15 00:52:22 +02:00
Konstantin Haase
9317d67693 vendor bootstrap 2012-08-10 15:55:02 +02:00
Piotr Sarnacki
159a8e105b Implement a few missing endpoints 2012-08-10 13:41:25 +02:00
Konstantin Haase
44afb75630 add ActiveRecord::ConnectionAdapters::ConnectionManagement 2012-08-10 00:28:49 +02:00
Piotr Sarnacki
5714fcf36d Allow turning off Home::Endpoint
Home::Endpoint by default redirects GET / request to /docs. This may be
desireable when Travis::Api::App is the only app running, but if it's
running in front of other app, you may want to keep root for other
things.
2012-08-09 23:45:39 +02:00
Konstantin Haase
afccec1037 use AccessToken 2012-07-28 19:48:53 +02:00
Konstantin Haase
29e387140a first stab at authorization 2012-07-28 19:47:45 +02:00
Konstantin Haase
7baf61054c rewrite all the things 2012-07-27 15:55:57 +02:00
Konstantin Haase
f67e72602b add CORS support 2012-07-23 15:16:26 +02:00
Konstantin Haase
e2e9572b50 set all responses to json 2012-07-23 14:18:42 +02:00
Sven Fuchs
cca12ce0c9 use Job::Test 2012-07-22 15:37:58 +02:00
Sven Fuchs
76324f00a1 stuff 2012-07-20 16:53:13 +02:00
Sven Fuchs
5c29457066 initial commit 2012-07-18 14:56:41 +02:00