Sven Fuchs
9a4b2b8e99
allow whitelisting target_origin in Travis.config
2014-10-07 16:45:47 +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
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
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
Konstantin Haase
b448410da5
have :id in repos controller only match digits
2014-08-19 10:45:55 +02:00
Piotr Sarnacki
81abc68621
Return only simple attributes on PATCH to settings
2014-07-30 16:44:37 +02:00
Piotr Sarnacki
b9db32e3c2
Treat repository_id as id for singleton settings
2014-07-23 13:34:30 +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
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
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
Mathias Meyer
34a7f817b3
Remove documentation, redirect /docs to new docs.
2014-05-05 15:06:06 +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
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
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
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
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
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
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
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
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
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
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