Commit Graph

20 Commits

Author SHA1 Message Date
Piotr Sarnacki
43e20332cf Return removed_at and removed_by if the log was removed 2015-01-09 14:28:30 +01: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
4546d29508 Add ability to specify parts in query to get log 2014-08-27 15:52:52 +02: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
b43568a0f9 Fix Annoation-related specs
Annotations are now blocked by features, so stub the service to
return true for the cases we expect to get data back from POST
requests
2014-01-29 14:30:23 -05: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
Piotr Sarnacki
39260c3918 Fix specs after travis-core update 2013-11-28 18:08:39 +01: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
Piotr Sarnacki
36783e6359 Handle chunked=true param in Accept header 2013-02-25 17:28:24 +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
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
289f7c1486 start porting api integration tests 2012-10-02 16:39:38 +02:00