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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 779d2b14f4b33e4a7b829a0544cbd45a7b63ee715907420e7114f0e659133930
4
- data.tar.gz: 2b350dc61fa5f95c216ece72ed1f466700c2186f0790f5c3621cbe35fb662088
3
+ metadata.gz: 9f484658c0d071dcfba3fda2385534c52034879bb62619eb1261a6356963d451
4
+ data.tar.gz: 65471e81f6ccc0fdc7baa34bb5c50fd953a2c60c72c0775e9878ac6bd2a49992
5
5
  SHA512:
6
- metadata.gz: 0b72a5def34bbd82bd2491811c13c48a4e6e8a859e018303c0a50db81b89d2af19ba6b18b16f0a5be7a4e1b304aee4696e6c06e9163ff9063461568b242f1343
7
- data.tar.gz: f244b25d40d5fd0542793aeae1eb14dffe4885bc13f54bfeddfe5f226a573f6b493d0e53a837bbf78450b0ea9be58c5095e710c25b6dfd32504f39c043855ce2
6
+ metadata.gz: b75bb62ad76c510c73282e4721bc145676fe3d9c4e8fda654c6f15b4c081ff88952d961a285c588b6a87c188f0edb54395eee268eed9858abdb48d64229302c4
7
+ data.tar.gz: a28baf3eaff5723e9ae2c5c516c26b2424774059ac187a4bd90f887ae1e78c132c5ac9a19f987654bd06073b752e6357fd7f621793e7d9776353ab5c4866547e
data/CHANGELOG.md CHANGED
@@ -1,4 +1,12 @@
1
- 0.1.1
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.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'
@@ -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:, **params)
77
+ def build_promote(owner, repo, build, target:)
69
78
  api.post("repos/#{owner}/#{repo}/builds/#{build}") do |request|
70
- { target: target }.merge(params).compact.transform_keys(&:to_s).each do |key, value|
79
+ { target: target }.compact.transform_keys(&:to_s).each do |key, value|
71
80
  request.params[key] = value
72
81
  end
73
82
  end
@@ -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.
@@ -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.1.1
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.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.5'
74
+ version: '5.6'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: pry
77
77
  requirement: !ruby/object:Gem::Requirement