Commit Graph

276 Commits

Author SHA1 Message Date
Henrik Hodne
824f9cd21d Move /jobs/:id/cancel to /jobs 2013-10-27 01:06:26 -05:00
Henrik Hodne
c64a006f1d Handle race condition with creating users more nicely 2013-10-26 08:33:57 -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
b484a19f27 Prefer follower also for /repos/id and repos list 2013-09-04 20:32:30 +02:00
Piotr Sarnacki
d133528893 Use follower for /builds and /jobs 2013-09-03 14:45:12 +02: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
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
f19de9d134 Implement jobs/:id/cancel and builds/:id/cancel endpoints 2013-08-08 14:25:20 +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
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
Henrik Hodne
277f0c2f72 Whitelist travis-lite for authentication 2013-06-04 21:57:09 +02:00
James Dennes
c5b73b1ecc s/autorization/authorization/ 2013-05-03 12:16:12 +02:00
Josh Kalderimis
23f3edc60c move the db follower usage to a helper 2013-05-03 09:21:48 +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
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
Henrik Hodne
63155e65b6 Fix link to travis-web
Fix #55
2013-03-03 18:27:29 -06:00
Sven Fuchs
7e005aad1b use travis-core/sf-log-models 2013-02-10 21:30:50 +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
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
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
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
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
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
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
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
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
Piotr Sarnacki
65637c5731 Add endpoint for getting repo public key 2012-11-26 02:26:34 +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
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
Konstantin Haase
d39f2eef07 add cc path 2012-11-08 14:36:39 +01:00
Konstantin Haase
6c911407f0 make allowed_targets an option 2012-10-29 18:51:27 +01: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
Sven Fuchs
558847f655 add missing file 2012-10-16 02:14:55 +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
209dbe2a85 rename services, remove service helpers 2012-10-12 01:28:35 +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
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
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
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
5ff58b1d6c adapt changes for split services 2012-09-29 20:48:31 +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
Konstantin Haase
603c32b097 set vary header and cache documentation 2012-09-25 17:52:52 +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
da4f05901f more CORS docs 2012-09-20 14:43:15 +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