Commit Graph

36 Commits

Author SHA1 Message Date
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
8e1b190725 Require status for updating Annotation and bump travis-core 2014-01-22 09:34:26 -05: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
Josh Kalderimis
92dc3f55ec add 'restart' to the build and job endpoints 2013-11-06 01:18:54 +01:00
Henrik Hodne
824f9cd21d Move /jobs/:id/cancel to /jobs 2013-10-27 01:06:26 -05:00
Piotr Sarnacki
0cdfa8240c Add source to cancel_build/job 2013-10-16 17:39:31 +02:00
Piotr Sarnacki
d133528893 Use follower for /builds and /jobs 2013-09-03 14:45:12 +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
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
Sven Fuchs
7e005aad1b use travis-core/sf-log-models 2013-02-10 21:30:50 +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
d441336573 expose logs on /job/:id/log.txt 2013-01-26 20:43:54 +01:00
Sven Fuchs
353b5fa502 use registered services 2012-11-23 21:16:10 +01:00
Sven Fuchs
209dbe2a85 rename services, remove service helpers 2012-10-12 01:28:35 +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
4328ba8649 adapt services changes from travis-core 2012-10-05 13:06:50 +02:00
Sven Fuchs
f6957636fb refactor to responders, add the cc.xml stuff 2012-10-03 02:19:16 +02:00
Sven Fuchs
7eceeb2842 moar work on acceptance tests 2012-10-02 19:10:29 +02:00
Sven Fuchs
5ff58b1d6c adapt changes for split services 2012-09-29 20:48:31 +02:00
Sven Fuchs
a2d195ecf9 actually turn these objects into json 2012-09-15 12:33:34 +02:00
Sven Fuchs
1fdcec33a4 use services 2012-09-15 12:10:40 +02:00
Piotr Sarnacki
159a8e105b Implement a few missing endpoints 2012-08-10 13:41:25 +02:00
Konstantin Haase
7baf61054c rewrite all the things 2012-07-27 15:55:57 +02:00