drone-ci 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/drone-ci.gemspec +1 -1
- data/lib/drone-ci/api/builds.rb +13 -4
- data/lib/drone-ci/api/repos.rb +12 -4
- data/lib/drone-ci/api/user.rb +18 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f484658c0d071dcfba3fda2385534c52034879bb62619eb1261a6356963d451
|
4
|
+
data.tar.gz: 65471e81f6ccc0fdc7baa34bb5c50fd953a2c60c72c0775e9878ac6bd2a49992
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b75bb62ad76c510c73282e4721bc145676fe3d9c4e8fda654c6f15b4c081ff88952d961a285c588b6a87c188f0edb54395eee268eed9858abdb48d64229302c4
|
7
|
+
data.tar.gz: a28baf3eaff5723e9ae2c5c516c26b2424774059ac187a4bd90f887ae1e78c132c5ac9a19f987654bd06073b752e6357fd7f621793e7d9776353ab5c4866547e
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,12 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
2
|
+
|
3
|
+
- (feature) add undocumented params to BuildsAPI#build_list: `page`, `per_page`
|
4
|
+
- (feature) add undocumented param to ReposAPI#repo_delete: `remove`
|
5
|
+
- (feature) add undocumented params to ReposAPI#repo_list: `page`, `per_page`
|
6
|
+
- (feature) add undocumented endpoint to UserAPI: `user_token`
|
7
|
+
- (dependency) update octokit from `~> 5.5` to `~> 5.6`
|
8
|
+
|
9
|
+
0.1.1
|
2
10
|
|
3
11
|
- (feature) Added documentation to API methods.
|
4
12
|
- (fix) removed required but unused argument from ReposAPI#repo_list
|
data/drone-ci.gemspec
CHANGED
@@ -28,7 +28,7 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_runtime_dependency 'faraday', '~> 2.5', '>= 2.5.2'
|
29
29
|
gem.add_runtime_dependency 'faraday-retry', '~> 2.0'
|
30
30
|
gem.add_runtime_dependency 'httpx', '~> 0.21.0'
|
31
|
-
gem.add_runtime_dependency 'octokit', '~> 5.
|
31
|
+
gem.add_runtime_dependency 'octokit', '~> 5.6'
|
32
32
|
|
33
33
|
gem.add_development_dependency 'pry', '~> 0.14.1'
|
34
34
|
gem.add_development_dependency 'pry-doc', '~> 1.3'
|
data/lib/drone-ci/api/builds.rb
CHANGED
@@ -47,8 +47,17 @@ module DroneCI
|
|
47
47
|
# Please note this api requires read access to the repository.
|
48
48
|
#
|
49
49
|
# Reference: https://docs.drone.io/api/builds/build_list/
|
50
|
-
def build_list(owner, repo)
|
51
|
-
api.get("repos/#{owner}/#{repo}/builds")
|
50
|
+
def build_list(owner, repo, branch: nil, tag: nil, page: 1, per_page: 25)
|
51
|
+
api.get("repos/#{owner}/#{repo}/builds") do |request|
|
52
|
+
{
|
53
|
+
branch: branch,
|
54
|
+
commit: commit,
|
55
|
+
page: page,
|
56
|
+
per_page: [[per_page, 1].max, 100].min, # https://github.com/harness/drone/blob/cbfd342333ffa4b2fe76b7e8948235efd3535fac/handler/api/repos/builds/list.go#L45-L47
|
57
|
+
}.compact.transform_keys(&:to_s).each do |key, value|
|
58
|
+
request.params[key] = value
|
59
|
+
end
|
60
|
+
end
|
52
61
|
end
|
53
62
|
|
54
63
|
# Please note this api requires read access to the repository.
|
@@ -65,9 +74,9 @@ module DroneCI
|
|
65
74
|
# Please note this api requires write access to the repository.
|
66
75
|
#
|
67
76
|
# Reference: https://docs.drone.io/api/builds/build_promote/
|
68
|
-
def build_promote(owner, repo, build, target
|
77
|
+
def build_promote(owner, repo, build, target:)
|
69
78
|
api.post("repos/#{owner}/#{repo}/builds/#{build}") do |request|
|
70
|
-
{ target: target }.
|
79
|
+
{ target: target }.compact.transform_keys(&:to_s).each do |key, value|
|
71
80
|
request.params[key] = value
|
72
81
|
end
|
73
82
|
end
|
data/lib/drone-ci/api/repos.rb
CHANGED
@@ -16,8 +16,12 @@ module DroneCI
|
|
16
16
|
# Please note this api requires administrative access to the repository, and repository’s secrets and builds aren’t deleted.
|
17
17
|
#
|
18
18
|
# Reference: https://docs.drone.io/api/repos/repo_delete/
|
19
|
-
def repo_delete(owner, repo)
|
20
|
-
api.delete("repos/#{owner}/#{repo}")
|
19
|
+
def repo_delete(owner, repo, remove: nil)
|
20
|
+
api.delete("repos/#{owner}/#{repo}") do |request|
|
21
|
+
{ remove: remove }.compact.transform_keys(&:to_s).each do |key, value|
|
22
|
+
request[key] = value
|
23
|
+
end
|
24
|
+
end
|
21
25
|
end
|
22
26
|
|
23
27
|
alias repo_disable repo_delete
|
@@ -47,8 +51,12 @@ module DroneCI
|
|
47
51
|
# Reference: https://docs.drone.io/api/repos/repo_list/
|
48
52
|
# the docs are wrong, they say this is at api/user/repos, but the source code says...
|
49
53
|
# https://github.com/harness/drone/blob/2d45d90cdd5cf2ec0e8dbcce2ea6bc340ce1e67e/handler/api/api.go#L173-L182
|
50
|
-
def repo_list
|
51
|
-
api.get('repos')
|
54
|
+
def repo_list(page: 1, per_page: 25)
|
55
|
+
api.get('repos') do |request|
|
56
|
+
{ page: page, per_page: per_page }.compact.transform_keys(&:to_s).each do |key, value|
|
57
|
+
request[key] = value
|
58
|
+
end
|
59
|
+
end
|
52
60
|
end
|
53
61
|
|
54
62
|
# Recreates webhooks for your repository in your version control system (e.g GitHub). This can be used if you accidentally delete your webhooks.
|
data/lib/drone-ci/api/user.rb
CHANGED
@@ -32,8 +32,24 @@ module DroneCI
|
|
32
32
|
# Synchronize the currently authenticated user’s repository list.
|
33
33
|
#
|
34
34
|
# Reference: https://docs.drone.io/api/user/user_sync/
|
35
|
-
def user_sync
|
36
|
-
api.post('user/repos')
|
35
|
+
def user_sync(async: nil)
|
36
|
+
api.post('user/repos') do |request|
|
37
|
+
{ async: async }.compact.each do |key, value|
|
38
|
+
request.params[key] = value
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
# Undocumented endpoint.
|
44
|
+
#
|
45
|
+
# Route Reference: https://github.com/harness/drone/blob/master/handler/api/api.go#L324
|
46
|
+
# Code Reference: https://github.com/harness/drone/blob/master/handler/api/user/token.go
|
47
|
+
def user_token(rotate: nil)
|
48
|
+
api.post('user/token') do |request|
|
49
|
+
{ rotate: rotate }.compact.each do |key, value|
|
50
|
+
request.params[key] = value
|
51
|
+
end
|
52
|
+
end
|
37
53
|
end
|
38
54
|
end
|
39
55
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: drone-ci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Olstrom
|
@@ -64,14 +64,14 @@ dependencies:
|
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '5.
|
67
|
+
version: '5.6'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '5.
|
74
|
+
version: '5.6'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: pry
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|