drone-ci 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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