travis 1.6.3.travis.390.4 → 1.6.3.travis.392.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +42 -0
- data/lib/travis/cli.rb +1 -0
- data/lib/travis/client/build.rb +1 -0
- data/lib/travis/client/entity.rb +10 -0
- data/lib/travis/client/job.rb +1 -0
- data/lib/travis/client/methods.rb +4 -0
- data/lib/travis/client/repository.rb +26 -2
- data/lib/travis/client/session.rb +9 -0
- data/lib/travis/client/user.rb +29 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzQwMTMyZTUyMjkyOTY5ODE5MDg4YmM5ZmQ4ZWY5NTY4NTVmMWZkZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
N2IxNmM0ODUwZGZiZjllOTZkNTMxMzhiMzc5NGU0MzU4NTdmYWQ0NA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
Zjk3NGQxMzBmOGFmOTM5MGNmZGY4MGMxYzRjZjgzM2YyZjg3OThiNTIxY2Yx
|
10
|
+
YmJkZDAzMDkyNmI1NWQ1MzQ3ZTgwNzNhNTg2NTIzYjYyNjMwODA5MWFjOTkx
|
11
|
+
N2IzOWRhN2EzOTk3N2IwYzM2NzBlZjgzOTBjNDZkMWFiOGY5NGM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MjVlOThiMTExYjYxZWI0NmJjYmFiNDdiOTdlZDE2YjA4ZDdjNTQ1Yjg4MTIz
|
14
|
+
ZTUwNTk3OGZkNjRjOWZhZjQ3MGFkODhiODU4ZjI0NGZkYzgzNTlhODJkMDhl
|
15
|
+
ODNiYmE1MjU0NjNhOTE5ZTAyM2M3NWRiMmJiYTczZWI2N2E0Y2Y=
|
data/README.md
CHANGED
@@ -18,6 +18,7 @@ The [travis gem](https://rubygems.org/gems/travis) includes both a [command line
|
|
18
18
|
* [`monitor`](#monitor)
|
19
19
|
* [`raw`](#raw)
|
20
20
|
* [`report`](#report)
|
21
|
+
* [`repos`](#repos)
|
21
22
|
* [`sync`](#sync)
|
22
23
|
* [`token`](#token)
|
23
24
|
* [`whatsup`](#whatsup)
|
@@ -307,6 +308,46 @@ When inspecting a bug or reporting an issue, it can be handy to include a report
|
|
307
308
|
|
308
309
|
This command can also list all known repos and the endpoint to use for them via the `--known-repos` option.
|
309
310
|
|
311
|
+
#### `repos`
|
312
|
+
|
313
|
+
Lists repositories the user has certain permissions on.
|
314
|
+
Usage: travis repos [options]
|
315
|
+
-h, --help Display help
|
316
|
+
-i, --[no-]interactive be interactive and colorful
|
317
|
+
-E, --[no-]explode don't rescue exceptions
|
318
|
+
--skip-version-check don't check if travis client is up to date
|
319
|
+
--skip-completion-check don't check if auto-completion is set up
|
320
|
+
-e, --api-endpoint URL Travis API server to talk to
|
321
|
+
-I, --[no-]insecure do not verify SSL certificate of API endpoint
|
322
|
+
--pro short-cut for --api-endpoint 'https://api.travis-ci.com/'
|
323
|
+
--org short-cut for --api-endpoint 'https://api.travis-ci.org/'
|
324
|
+
-t, --token [ACCESS_TOKEN] access token to use
|
325
|
+
--debug show API requests
|
326
|
+
-X, --enterprise [NAME] use enterprise setup (optionally takes name for multiple setups)
|
327
|
+
--adapter ADAPTER Faraday adapter to use for HTTP requests
|
328
|
+
-m, --match PATTERN only list repositories matching the given pattern (shell style)
|
329
|
+
-o, --owner LOGIN only list repos for a certain owner
|
330
|
+
-n, --name NAME only list repos with a given name
|
331
|
+
-a, --active only list active repositories
|
332
|
+
-A, --inactive only list inactive repositories
|
333
|
+
-d, --admin only list repos with (or without) admin access
|
334
|
+
-D, --no-admin only list repos without admin access
|
335
|
+
|
336
|
+
Lists repositories and displays whether these are active or not. Has a variety of options to filter repositories.
|
337
|
+
|
338
|
+
$ travis repos -m 'rkh/travis-*'
|
339
|
+
rkh/travis-chat (active: yes, admin: yes, push: yes, pull: yes)
|
340
|
+
Description: example app demoing travis-sso usage
|
341
|
+
|
342
|
+
rkh/travis-encrypt (active: yes, admin: yes, push: yes, pull: yes)
|
343
|
+
Description: proof of concept in browser encryption of travis settings
|
344
|
+
|
345
|
+
rkh/travis-lite (active: no, admin: yes, push: yes, pull: yes)
|
346
|
+
Description: Travis CI without the JavaScript
|
347
|
+
|
348
|
+
rkh/travis-surveillance (active: no, admin: yes, push: yes, pull: yes)
|
349
|
+
Description: Veille sur un projet.
|
350
|
+
|
310
351
|
#### `sync`
|
311
352
|
|
312
353
|
Usage: travis sync [options]
|
@@ -1447,6 +1488,7 @@ If you have the old `travis-cli` gem installed, you should `gem uninstall travis
|
|
1447
1488
|
**1.6.3** (not yet released)
|
1448
1489
|
|
1449
1490
|
* Fix OS detection on Windows.
|
1491
|
+
* Add `travis repos` command.
|
1450
1492
|
* Add `travis setup cloudfiles`.
|
1451
1493
|
* Add `travis setup divshot`.
|
1452
1494
|
* Add `--date` flag to `travis history`.
|
data/lib/travis/cli.rb
CHANGED
@@ -38,6 +38,7 @@ module Travis
|
|
38
38
|
autoload :Raw, 'travis/cli/raw'
|
39
39
|
autoload :RepoCommand, 'travis/cli/repo_command'
|
40
40
|
autoload :Report, 'travis/cli/report'
|
41
|
+
autoload :Repos, 'travis/cli/repos'
|
41
42
|
autoload :Restart, 'travis/cli/restart'
|
42
43
|
autoload :Setup, 'travis/cli/setup'
|
43
44
|
autoload :Show, 'travis/cli/show'
|
data/lib/travis/client/build.rb
CHANGED
@@ -4,6 +4,7 @@ module Travis
|
|
4
4
|
module Client
|
5
5
|
class Build < Entity
|
6
6
|
include States, Restartable
|
7
|
+
preloadable
|
7
8
|
|
8
9
|
# @!parse attr_reader :repository_id, :commit_id, :number, :pull_request, :pull_request_number, :pull_request_title, :config, :state, :started_at, :finished_at, :duration, :job_ids
|
9
10
|
attributes :repository_id, :commit_id, :number, :pull_request, :pull_request_number, :pull_request_title, :config, :state, :started_at, :finished_at, :duration, :job_ids
|
data/lib/travis/client/entity.rb
CHANGED
data/lib/travis/client/job.rb
CHANGED
@@ -4,6 +4,7 @@ module Travis
|
|
4
4
|
module Client
|
5
5
|
class Job < Entity
|
6
6
|
include States, Restartable
|
7
|
+
preloadable
|
7
8
|
|
8
9
|
# @!parse attr_reader :repository_id, :build_id, :commit_id, :log_id, :number, :config, :state, :started_at, :finished_at, :queue, :allow_failure, :tags
|
9
10
|
attributes :repository_id, :build_id, :commit_id, :log_id, :number, :config, :state, :started_at, :finished_at, :queue, :allow_failure, :tags
|
@@ -46,16 +46,22 @@ module Travis
|
|
46
46
|
end
|
47
47
|
|
48
48
|
include States
|
49
|
+
preloadable
|
49
50
|
|
50
51
|
# @!parse attr_reader :slug, :description
|
51
|
-
attributes :slug, :description, :last_build_id, :last_build_number, :last_build_state, :last_build_duration, :last_build_started_at, :last_build_finished_at, :github_language
|
52
|
+
attributes :slug, :active, :private, :admin, :description, :last_build_id, :last_build_number, :last_build_state, :last_build_duration, :last_build_started_at, :last_build_finished_at, :github_language
|
52
53
|
inspect_info :slug
|
53
54
|
|
54
55
|
time :last_build_finished_at, :last_build_started_at
|
55
56
|
|
56
57
|
one :repo
|
57
58
|
many :repos
|
58
|
-
aka :repository, :permissions, :admin, :pull, :push
|
59
|
+
aka :repository, :permissions, :admin, :pull, :push, :hooks
|
60
|
+
|
61
|
+
def initialize(*)
|
62
|
+
super
|
63
|
+
attributes['active'] = attributes['private'] = attributes['admin'] = nil
|
64
|
+
end
|
59
65
|
|
60
66
|
def public_key
|
61
67
|
attributes["public_key"] ||= begin
|
@@ -186,6 +192,24 @@ module Travis
|
|
186
192
|
session.delete("/repos/#{id}/caches", params)['caches']
|
187
193
|
end
|
188
194
|
|
195
|
+
def active?
|
196
|
+
# TODO remove once active is properly synced and exposed by api
|
197
|
+
return active unless active.nil?
|
198
|
+
last_build_id?
|
199
|
+
end
|
200
|
+
|
201
|
+
def admin?(user = session.user)
|
202
|
+
user.admin_access? self
|
203
|
+
end
|
204
|
+
|
205
|
+
def push?(user = session.user)
|
206
|
+
user.push_access? self
|
207
|
+
end
|
208
|
+
|
209
|
+
def pull?(user = session.user)
|
210
|
+
user.pull_access? self
|
211
|
+
end
|
212
|
+
|
189
213
|
private
|
190
214
|
|
191
215
|
def state
|
@@ -143,6 +143,15 @@ module Travis
|
|
143
143
|
result
|
144
144
|
end
|
145
145
|
|
146
|
+
def preload(list)
|
147
|
+
list.group_by(&:class).each do |type, instances|
|
148
|
+
next unless type.preloadable?
|
149
|
+
ids = instances.map { |e| e.id unless e.complete? }.compact
|
150
|
+
find_many(type, :ids => ids) if ids.any?
|
151
|
+
end
|
152
|
+
list
|
153
|
+
end
|
154
|
+
|
146
155
|
def get(*args)
|
147
156
|
load get_raw(*args)
|
148
157
|
end
|
data/lib/travis/client/user.rb
CHANGED
@@ -24,8 +24,36 @@ module Travis
|
|
24
24
|
attributes['channels'] ||= ['common']
|
25
25
|
end
|
26
26
|
|
27
|
+
def permissions
|
28
|
+
attributes['permissions'] ||= session.get('/users/permissions')
|
29
|
+
end
|
30
|
+
|
27
31
|
def repositories
|
28
|
-
|
32
|
+
permissions['permissions']
|
33
|
+
end
|
34
|
+
|
35
|
+
def push_access
|
36
|
+
permissions['push']
|
37
|
+
end
|
38
|
+
|
39
|
+
def pull_access
|
40
|
+
permissions['pull']
|
41
|
+
end
|
42
|
+
|
43
|
+
def admin_access
|
44
|
+
permissions['admin']
|
45
|
+
end
|
46
|
+
|
47
|
+
def push_access?(repo)
|
48
|
+
push_access.include? repo
|
49
|
+
end
|
50
|
+
|
51
|
+
def pull_access?(repo)
|
52
|
+
pull_access.include? repo
|
53
|
+
end
|
54
|
+
|
55
|
+
def admin_access?(repo)
|
56
|
+
admin_access.include? repo
|
29
57
|
end
|
30
58
|
|
31
59
|
alias syncing? is_syncing
|