octokit 9.1.0 → 10.0.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 +4 -4
- data/README.md +1 -1
- data/lib/octokit/client/apps.rb +21 -69
- data/lib/octokit/client/pull_requests.rb +16 -8
- data/lib/octokit/client/reactions.rb +16 -0
- data/lib/octokit/client/repositories.rb +43 -0
- data/lib/octokit/client.rb +2 -0
- data/lib/octokit/connection.rb +2 -0
- data/lib/octokit/default.rb +0 -5
- data/lib/octokit/enterprise_management_console_client/management_console.rb +19 -12
- data/lib/octokit/error.rb +2 -0
- data/lib/octokit/manage_ghes_client/manage_ghes.rb +8 -1
- data/lib/octokit/repository.rb +7 -1
- data/lib/octokit/version.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f38242e8e316fd62d03bc00b2d912f10dee6d88f7ccaa27d5b80af886c53d55
|
4
|
+
data.tar.gz: ea7d9c47a13fe18e8f54a7f9ed3db6e7b776eb91a0ebe7ceb91eab5f7742faa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b74062227c7bfc90d1efc64cbfddf6cf3eb5cc0d4d3c765d5500f0ace01e588f11b635e860536582dbae1734c57c780562a761eec3cfad7cd0b4dfc6b44240f8
|
7
|
+
data.tar.gz: 61fb7f011f61d853e1511384644cd36c6c3ddafb7ca38ad554f688ea321da3182748b9c065a6b8b7af46364ba361342c447c07ff9927d71788bde8b93a57dd6d
|
data/README.md
CHANGED
@@ -597,7 +597,7 @@ traffic:
|
|
597
597
|
|
598
598
|
```ruby
|
599
599
|
stack = Faraday::RackBuilder.new do |builder|
|
600
|
-
builder.use Faraday::Retry::Middleware, exceptions: Faraday::
|
600
|
+
builder.use Faraday::Retry::Middleware, exceptions: Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS + [Octokit::ServerError] # or Faraday::Request::Retry for Faraday < 2.0
|
601
601
|
builder.use Octokit::Middleware::FollowRedirects
|
602
602
|
builder.use Octokit::Response::RaiseError
|
603
603
|
builder.use Octokit::Response::FeedParser
|
data/lib/octokit/client/apps.rb
CHANGED
@@ -8,53 +8,45 @@ module Octokit
|
|
8
8
|
#
|
9
9
|
# @param options [Hash] A customizable set of options
|
10
10
|
#
|
11
|
-
# @see https://
|
11
|
+
# @see https://docs.github.com/en/rest/apps/apps#get-the-authenticated-app
|
12
12
|
#
|
13
13
|
# @return [Sawyer::Resource] App information
|
14
14
|
def app(options = {})
|
15
15
|
get 'app', options
|
16
16
|
end
|
17
17
|
|
18
|
-
#
|
18
|
+
# List all installations that belong to an App
|
19
19
|
#
|
20
20
|
# @param options [Hash] A customizable set of options
|
21
21
|
#
|
22
|
-
# @see https://
|
22
|
+
# @see https://docs.github.com/en/rest/apps/apps#list-installations-for-the-authenticated-app
|
23
23
|
#
|
24
24
|
# @return [Array<Sawyer::Resource>] the total_count and an array of installations
|
25
|
-
def
|
25
|
+
def list_app_installations(options = {})
|
26
26
|
paginate 'app/installations', options
|
27
27
|
end
|
28
|
-
alias find_installations
|
28
|
+
alias find_installations list_app_installations
|
29
|
+
alias find_app_installations list_app_installations
|
29
30
|
|
30
|
-
|
31
|
-
octokit_warn(
|
32
|
-
'Deprecated: Octokit::Client::Apps#find_integration_installations ' \
|
33
|
-
'method is deprecated. Please update your call to use ' \
|
34
|
-
'Octokit::Client::Apps#find_app_installations before the next major ' \
|
35
|
-
'Octokit version update.'
|
36
|
-
)
|
37
|
-
find_app_installations(options)
|
38
|
-
end
|
39
|
-
|
40
|
-
# Find all installations that are accessible to the authenticated user
|
31
|
+
# List all installations that are accessible to the authenticated user
|
41
32
|
#
|
42
33
|
# @param options [Hash] A customizable set of options
|
43
34
|
#
|
44
|
-
# @see https://
|
35
|
+
# @see https://docs.github.com/en/rest/apps/installations#list-app-installations-accessible-to-the-user-access-token
|
45
36
|
#
|
46
37
|
# @return [Sawyer::Resource] the total_count and an array of installations
|
47
|
-
def
|
38
|
+
def list_user_installations(options = {})
|
48
39
|
paginate('user/installations', options) do |data, last_response|
|
49
40
|
data.installations.concat last_response.data.installations
|
50
41
|
end
|
51
42
|
end
|
43
|
+
alias find_user_installations list_user_installations
|
52
44
|
|
53
45
|
# Get a single installation
|
54
46
|
#
|
55
47
|
# @param id [Integer] Installation id
|
56
48
|
#
|
57
|
-
# @see https://
|
49
|
+
# @see https://docs.github.com/en/rest/apps/apps#get-an-installation-for-the-authenticated-app
|
58
50
|
#
|
59
51
|
# @return [Sawyer::Resource] Installation information
|
60
52
|
def installation(id, options = {})
|
@@ -66,7 +58,7 @@ module Octokit
|
|
66
58
|
# @param installation [Integer] The id of a GitHub App Installation
|
67
59
|
# @param options [Hash] A customizable set of options
|
68
60
|
#
|
69
|
-
# @see https://
|
61
|
+
# @see https://docs.github.com/en/rest/apps/apps#create-an-installation-access-token-for-an-app
|
70
62
|
#
|
71
63
|
# @return [<Sawyer::Resource>] An installation token
|
72
64
|
def create_app_installation_access_token(installation, options = {})
|
@@ -74,22 +66,12 @@ module Octokit
|
|
74
66
|
end
|
75
67
|
alias create_installation_access_token create_app_installation_access_token
|
76
68
|
|
77
|
-
def create_integration_installation_access_token(installation, options = {})
|
78
|
-
octokit_warn(
|
79
|
-
'Deprecated: Octokit::Client::Apps#create_integration_installation_access_token ' \
|
80
|
-
'method is deprecated. Please update your call to use ' \
|
81
|
-
'Octokit::Client::Apps#create_app_installation_access_token before the next major ' \
|
82
|
-
'Octokit version update.'
|
83
|
-
)
|
84
|
-
create_app_installation_access_token(installation, options)
|
85
|
-
end
|
86
|
-
|
87
69
|
# Enables an app to find the organization's installation information.
|
88
70
|
#
|
89
71
|
# @param organization [String] Organization GitHub login
|
90
72
|
# @param options [Hash] A customizable set of options
|
91
73
|
#
|
92
|
-
# @see https://
|
74
|
+
# @see https://docs.github.com/en/rest/apps/apps#get-an-organization-installation-for-the-authenticated-app
|
93
75
|
#
|
94
76
|
# @return [Sawyer::Resource] Installation information
|
95
77
|
def find_organization_installation(organization, options = {})
|
@@ -101,7 +83,7 @@ module Octokit
|
|
101
83
|
# @param repo [String] A GitHub repository
|
102
84
|
# @param options [Hash] A customizable set of options
|
103
85
|
#
|
104
|
-
# @see https://
|
86
|
+
# @see https://docs.github.com/en/rest/apps/apps#get-a-repository-installation-for-the-authenticated-app
|
105
87
|
#
|
106
88
|
# @return [Sawyer::Resource] Installation information
|
107
89
|
def find_repository_installation(repo, options = {})
|
@@ -113,7 +95,7 @@ module Octokit
|
|
113
95
|
# @param user [String] GitHub user login
|
114
96
|
# @param options [Hash] A customizable set of options
|
115
97
|
#
|
116
|
-
# @see https://
|
98
|
+
# @see https://docs.github.com/en/rest/apps/apps#get-a-user-installation-for-the-authenticated-app
|
117
99
|
#
|
118
100
|
# @return [Sawyer::Resource] Installation information
|
119
101
|
def find_user_installation(user, options = {})
|
@@ -124,7 +106,7 @@ module Octokit
|
|
124
106
|
#
|
125
107
|
# @param options [Hash] A customizable set of options
|
126
108
|
#
|
127
|
-
# @see https://
|
109
|
+
# @see https://docs.github.com/en/rest/apps/installations#list-repositories-accessible-to-the-app-installation
|
128
110
|
#
|
129
111
|
# @return [Sawyer::Resource] the total_count and an array of repositories
|
130
112
|
def list_app_installation_repositories(options = {})
|
@@ -134,23 +116,13 @@ module Octokit
|
|
134
116
|
end
|
135
117
|
alias list_installation_repos list_app_installation_repositories
|
136
118
|
|
137
|
-
def list_integration_installation_repositories(options = {})
|
138
|
-
octokit_warn(
|
139
|
-
'Deprecated: Octokit::Client::Apps#list_integration_installation_repositories ' \
|
140
|
-
'method is deprecated. Please update your call to use ' \
|
141
|
-
'Octokit::Client::Apps#list_app_installation_repositories before the next major ' \
|
142
|
-
'Octokit version update.'
|
143
|
-
)
|
144
|
-
list_app_installation_repositories(options)
|
145
|
-
end
|
146
|
-
|
147
119
|
# Add a single repository to an installation
|
148
120
|
#
|
149
121
|
# @param installation [Integer] The id of a GitHub App Installation
|
150
122
|
# @param repo [Integer] The id of the GitHub repository
|
151
123
|
# @param options [Hash] A customizable set of options
|
152
124
|
#
|
153
|
-
# @see https://
|
125
|
+
# @see https://docs.github.com/en/rest/apps/installations#add-a-repository-to-an-app-installation
|
154
126
|
#
|
155
127
|
# @return [Boolean] Success
|
156
128
|
def add_repository_to_app_installation(installation, repo, options = {})
|
@@ -158,23 +130,13 @@ module Octokit
|
|
158
130
|
end
|
159
131
|
alias add_repo_to_installation add_repository_to_app_installation
|
160
132
|
|
161
|
-
def add_repository_to_integration_installation(installation, repo, options = {})
|
162
|
-
octokit_warn(
|
163
|
-
'Deprecated: Octokit::Client::Apps#add_repository_to_integration_installation ' \
|
164
|
-
'method is deprecated. Please update your call to use ' \
|
165
|
-
'Octokit::Client::Apps#add_repository_to_app_installation before the next major ' \
|
166
|
-
'Octokit version update.'
|
167
|
-
)
|
168
|
-
add_repository_to_app_installation(installation, repo, options)
|
169
|
-
end
|
170
|
-
|
171
133
|
# Remove a single repository to an installation
|
172
134
|
#
|
173
135
|
# @param installation [Integer] The id of a GitHub App Installation
|
174
136
|
# @param repo [Integer] The id of the GitHub repository
|
175
137
|
# @param options [Hash] A customizable set of options
|
176
138
|
#
|
177
|
-
# @see https://
|
139
|
+
# @see https://docs.github.com/en/rest/apps/installations#remove-a-repository-from-an-app-installation
|
178
140
|
#
|
179
141
|
# @return [Boolean] Success
|
180
142
|
def remove_repository_from_app_installation(installation, repo, options = {})
|
@@ -182,22 +144,12 @@ module Octokit
|
|
182
144
|
end
|
183
145
|
alias remove_repo_from_installation remove_repository_from_app_installation
|
184
146
|
|
185
|
-
def remove_repository_from_integration_installation(installation, repo, options = {})
|
186
|
-
octokit_warn(
|
187
|
-
'Deprecated: Octokit::Client::Apps#remove_repository_from_integration_installation ' \
|
188
|
-
'method is deprecated. Please update your call to use ' \
|
189
|
-
'Octokit::Client::Apps#remove_repository_from_app_installation before the next major ' \
|
190
|
-
'Octokit version update.'
|
191
|
-
)
|
192
|
-
remove_repository_from_app_installation(installation, repo, options)
|
193
|
-
end
|
194
|
-
|
195
147
|
# List repositories accessible to the user for an installation
|
196
148
|
#
|
197
149
|
# @param installation [Integer] The id of a GitHub App Installation
|
198
150
|
# @param options [Hash] A customizable set of options
|
199
151
|
#
|
200
|
-
# @see https://
|
152
|
+
# @see https://docs.github.com/en/rest/apps/installations#list-repositories-accessible-to-the-user-access-token
|
201
153
|
#
|
202
154
|
# @return [Sawyer::Resource] the total_count and an array of repositories
|
203
155
|
def find_installation_repositories_for_user(installation, options = {})
|
@@ -211,7 +163,7 @@ module Octokit
|
|
211
163
|
# @param installation [Integer] The id of a GitHub App Installation
|
212
164
|
# @param options [Hash] A customizable set of options
|
213
165
|
#
|
214
|
-
# @see https://
|
166
|
+
# @see https://docs.github.com/en/rest/apps/apps#delete-an-installation-for-the-authenticated-app
|
215
167
|
#
|
216
168
|
# @return [Boolean] Success
|
217
169
|
def delete_installation(installation, options = {})
|
@@ -248,7 +200,7 @@ module Octokit
|
|
248
200
|
# @param delivery_id [Integer] The id of a GitHub App Hook Delivery
|
249
201
|
# @param options [Hash] A customizable set of options
|
250
202
|
#
|
251
|
-
# @see https://
|
203
|
+
# @see https://docs.github.com/en/rest/apps/webhooks#redeliver-a-delivery-for-an-app-webhook
|
252
204
|
#
|
253
205
|
# @return [Boolean] Success
|
254
206
|
def deliver_app_hook(delivery_id, options = {})
|
@@ -197,22 +197,30 @@ module Octokit
|
|
197
197
|
# @param body [String] Comment content
|
198
198
|
# @param commit_id [String] Sha of the commit to comment on.
|
199
199
|
# @param path [String] Relative path of the file to comment on.
|
200
|
-
# @param line [Integer]
|
200
|
+
# @param line [Integer] Optional line index in the diff to comment on.
|
201
201
|
# For a multi-line comment, the last line of the range
|
202
202
|
# and specify 'start_line' in the 'options'.
|
203
|
+
# If not specified, the comment will be on the whole file.
|
203
204
|
# @return [Sawyer::Resource] Hash representing the new comment
|
204
205
|
# @deprecated The position will be deprecated in the next major version. Please refer to the details below.
|
205
206
|
# @see https://developer.github.com/v3/pulls/comments/#create-a-comment
|
206
207
|
# @example
|
207
208
|
# @client.create_pull_request_comment("octokit/octokit.rb", 163, ":shipit:",
|
208
209
|
# "2d3201e4440903d8b04a5487842053ca4883e5f0", "lib/octokit/request.rb", 47)
|
209
|
-
def create_pull_request_comment(repo, pull_id, body, commit_id, path, line, options = {})
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
210
|
+
def create_pull_request_comment(repo, pull_id, body, commit_id, path, line = nil, options = {})
|
211
|
+
comment = {
|
212
|
+
body: body,
|
213
|
+
commit_id: commit_id,
|
214
|
+
path: path
|
215
|
+
}
|
216
|
+
|
217
|
+
if line.nil?
|
218
|
+
comment[:subject_type] = 'file'
|
219
|
+
else
|
220
|
+
comment[:line] = line
|
221
|
+
end
|
222
|
+
|
223
|
+
options.merge! comment
|
216
224
|
post "#{Repository.path repo}/pulls/#{pull_id}/comments", options
|
217
225
|
end
|
218
226
|
alias create_pull_comment create_pull_request_comment
|
@@ -102,6 +102,22 @@ module Octokit
|
|
102
102
|
post "#{Repository.path repo}/issues/comments/#{id}/reactions", options
|
103
103
|
end
|
104
104
|
|
105
|
+
# Delete a reaction from an issue comment
|
106
|
+
#
|
107
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
108
|
+
# @param comment_id [Integer] The Issue comment id
|
109
|
+
# @param reaction_id [Integer] The Reaction id
|
110
|
+
#
|
111
|
+
# @see https://docs.github.com/en/rest/reactions/reactions#delete-an-issue-comment-reaction
|
112
|
+
#
|
113
|
+
# @example
|
114
|
+
# @client.delete_issue_comment_reaction("octokit/octokit.rb", 1, 2)
|
115
|
+
#
|
116
|
+
# @return [Boolean] Return true if reaction was deleted, false otherwise.
|
117
|
+
def delete_issue_comment_reaction(repo, comment_id, reaction_id, options = {})
|
118
|
+
boolean_from_response :delete, "#{Repository.path repo}/issues/comments/#{comment_id}/reactions/#{reaction_id}", options
|
119
|
+
end
|
120
|
+
|
105
121
|
# List reactions for a pull request review comment
|
106
122
|
#
|
107
123
|
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
@@ -774,6 +774,49 @@ module Octokit
|
|
774
774
|
def disable_vulnerability_alerts(repo, options = {})
|
775
775
|
boolean_from_response(:delete, "#{Repository.path repo}/vulnerability-alerts", options)
|
776
776
|
end
|
777
|
+
|
778
|
+
# Check to see if automated security fixes are enabled for a repository
|
779
|
+
#
|
780
|
+
# The authenticated user must have admin access to the repository.
|
781
|
+
#
|
782
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
783
|
+
# @return [Boolean] True if automated security fixes are enabled, false otherwise.
|
784
|
+
# @see https://docs.github.com/en/rest/reference/repos#check-if-automated-security-fixes-are-enabled-for-a-repository
|
785
|
+
#
|
786
|
+
# @example
|
787
|
+
# @client.automated_security_fixes_enabled?("octokit/octokit.rb")
|
788
|
+
def automated_security_fixes_enabled?(repo, options = {})
|
789
|
+
response = get "#{Repository.path repo}/automated-security-fixes", options
|
790
|
+
return response[:enabled] if @last_response.status == 200
|
791
|
+
|
792
|
+
false
|
793
|
+
end
|
794
|
+
|
795
|
+
# Enable automated security fixes for a repository
|
796
|
+
#
|
797
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
798
|
+
# @param options [Hash]
|
799
|
+
#
|
800
|
+
# @return [Boolean] True if vulnerability alerts enabled, false otherwise.
|
801
|
+
# @see https://docs.github.com/en/rest/reference/repos#automated-security-fixes
|
802
|
+
# @example Enable automated security fixes for a repository
|
803
|
+
# @client.enable_automated_security_fixes("octokit/octokit.rb")
|
804
|
+
def enable_automated_security_fixes(repo, options = {})
|
805
|
+
boolean_from_response(:put, "#{Repository.path repo}/automated-security-fixes", options)
|
806
|
+
end
|
807
|
+
|
808
|
+
# Disable automated security fixes for a repository
|
809
|
+
#
|
810
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
811
|
+
# @param options [Hash]
|
812
|
+
#
|
813
|
+
# @return [Boolean] True if vulnerability alerts disabled, false otherwise.
|
814
|
+
# @see https://docs.github.com/en/rest/reference/repos#automated-security-fixes
|
815
|
+
# @example Disable automated security fixes for a repository
|
816
|
+
# @client.disable_automated_security_fixes("octokit/octokit.rb")
|
817
|
+
def disable_automated_security_fixes(repo, options = {})
|
818
|
+
boolean_from_response(:delete, "#{Repository.path repo}/automated-security-fixes", options)
|
819
|
+
end
|
777
820
|
end
|
778
821
|
end
|
779
822
|
end
|
data/lib/octokit/client.rb
CHANGED
@@ -259,6 +259,7 @@ module Octokit
|
|
259
259
|
conn_opts[:proxy] = @proxy if @proxy
|
260
260
|
conn_opts[:ssl] = { verify_mode: @ssl_verify_mode } if @ssl_verify_mode
|
261
261
|
conn = Faraday.new(conn_opts) do |http|
|
262
|
+
http_cache_middleware = http.builder.handlers.delete(Faraday::HttpCache) if Faraday.const_defined?(:HttpCache)
|
262
263
|
if basic_authenticated?
|
263
264
|
http.request(*FARADAY_BASIC_AUTH_KEYS, @login, @password)
|
264
265
|
elsif token_authenticated?
|
@@ -266,6 +267,7 @@ module Octokit
|
|
266
267
|
elsif bearer_authenticated?
|
267
268
|
http.request :authorization, 'Bearer', @bearer_token
|
268
269
|
end
|
270
|
+
http.builder.handlers.push(http_cache_middleware) unless http_cache_middleware.nil?
|
269
271
|
http.headers['accept'] = options[:accept] if options.key?(:accept)
|
270
272
|
end
|
271
273
|
conn.builder.delete(Octokit::Middleware::FollowRedirects)
|
data/lib/octokit/connection.rb
CHANGED
@@ -106,6 +106,7 @@ module Octokit
|
|
106
106
|
http.headers[:accept] = default_media_type
|
107
107
|
http.headers[:content_type] = 'application/json'
|
108
108
|
http.headers[:user_agent] = user_agent
|
109
|
+
http_cache_middleware = http.builder.handlers.delete(Faraday::HttpCache) if Faraday.const_defined?(:HttpCache)
|
109
110
|
if basic_authenticated?
|
110
111
|
http.request(*FARADAY_BASIC_AUTH_KEYS, @login, @password)
|
111
112
|
elsif token_authenticated?
|
@@ -115,6 +116,7 @@ module Octokit
|
|
115
116
|
elsif application_authenticated?
|
116
117
|
http.request(*FARADAY_BASIC_AUTH_KEYS, @client_id, @client_secret)
|
117
118
|
end
|
119
|
+
http.builder.handlers.push(http_cache_middleware) unless http_cache_middleware.nil?
|
118
120
|
end
|
119
121
|
end
|
120
122
|
|
data/lib/octokit/default.rb
CHANGED
@@ -12,11 +12,6 @@ if Gem::Version.new(Faraday::VERSION) >= Gem::Version.new('2.0')
|
|
12
12
|
rescue LoadError
|
13
13
|
Octokit::Warnable.octokit_warn 'To use retry middleware with Faraday v2.0+, install `faraday-retry` gem'
|
14
14
|
end
|
15
|
-
begin
|
16
|
-
require 'faraday/multipart'
|
17
|
-
rescue LoadError
|
18
|
-
Octokit::Warnable.octokit_warn 'To use multipart middleware with Faraday v2.0+, install `faraday-multipart` gem; note: this is used by the ManageGHES client for uploading licenses'
|
19
|
-
end
|
20
15
|
end
|
21
16
|
|
22
17
|
module Octokit
|
@@ -14,7 +14,7 @@ module Octokit
|
|
14
14
|
# @see https://docs.github.com/en/enterprise-server@3.4/rest/enterprise-admin/management-console#create-a-github-license
|
15
15
|
# @return nil
|
16
16
|
def upload_license(license, settings = nil)
|
17
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
17
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
18
18
|
conn = faraday_configuration
|
19
19
|
|
20
20
|
params = {}
|
@@ -29,7 +29,7 @@ module Octokit
|
|
29
29
|
#
|
30
30
|
# @return nil
|
31
31
|
def start_configuration
|
32
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
32
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
33
33
|
post '/setup/api/configure', password_hash
|
34
34
|
end
|
35
35
|
|
@@ -39,7 +39,7 @@ module Octokit
|
|
39
39
|
#
|
40
40
|
# @return nil
|
41
41
|
def upgrade(license)
|
42
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
42
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
43
43
|
conn = faraday_configuration
|
44
44
|
|
45
45
|
params = {}
|
@@ -52,7 +52,7 @@ module Octokit
|
|
52
52
|
#
|
53
53
|
# @return [Sawyer::Resource] The installation information
|
54
54
|
def config_status
|
55
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
55
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
56
56
|
get '/setup/api/configcheck', password_hash
|
57
57
|
end
|
58
58
|
alias config_check config_status
|
@@ -61,7 +61,7 @@ module Octokit
|
|
61
61
|
#
|
62
62
|
# @return [Sawyer::Resource] The settings
|
63
63
|
def settings
|
64
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
64
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
65
65
|
get '/setup/api/settings', password_hash
|
66
66
|
end
|
67
67
|
alias get_settings settings
|
@@ -72,7 +72,7 @@ module Octokit
|
|
72
72
|
#
|
73
73
|
# @return [nil]
|
74
74
|
def edit_settings(settings)
|
75
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
75
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
76
76
|
queries = password_hash
|
77
77
|
queries[:query][:settings] = settings.to_json.to_s
|
78
78
|
put '/setup/api/settings', queries
|
@@ -82,7 +82,7 @@ module Octokit
|
|
82
82
|
#
|
83
83
|
# @return [Sawyer::Resource] The maintenance status
|
84
84
|
def maintenance_status
|
85
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
85
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
86
86
|
get '/setup/api/maintenance', password_hash
|
87
87
|
end
|
88
88
|
alias get_maintenance_status maintenance_status
|
@@ -92,7 +92,7 @@ module Octokit
|
|
92
92
|
# @param maintenance [Hash] A hash configuration of the maintenance settings
|
93
93
|
# @return [nil]
|
94
94
|
def set_maintenance_status(maintenance)
|
95
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
95
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
96
96
|
queries = password_hash
|
97
97
|
queries[:query][:maintenance] = maintenance.to_json.to_s
|
98
98
|
post '/setup/api/maintenance', queries
|
@@ -103,7 +103,7 @@ module Octokit
|
|
103
103
|
#
|
104
104
|
# @return [Sawyer::Resource] An array of authorized SSH keys
|
105
105
|
def authorized_keys
|
106
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
106
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
107
107
|
get '/setup/api/settings/authorized-keys', password_hash
|
108
108
|
end
|
109
109
|
alias get_authorized_keys authorized_keys
|
@@ -113,7 +113,7 @@ module Octokit
|
|
113
113
|
# @param key Either the file path to a key, a File handler to the key, or the contents of the key itself
|
114
114
|
# @return [Sawyer::Resource] An array of authorized SSH keys
|
115
115
|
def add_authorized_key(key)
|
116
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
116
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
117
117
|
queries = password_hash
|
118
118
|
case key
|
119
119
|
when String
|
@@ -138,7 +138,7 @@ module Octokit
|
|
138
138
|
# @param key Either the file path to a key, a File handler to the key, or the contents of the key itself
|
139
139
|
# @return [Sawyer::Resource] An array of authorized SSH keys
|
140
140
|
def remove_authorized_key(key)
|
141
|
-
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.
|
141
|
+
octokit_warn('The Management Console API will be deprecated in GitHub Enterprise Server 3.15.0, please use the ManageGHES client instead.')
|
142
142
|
queries = password_hash
|
143
143
|
case key
|
144
144
|
when String
|
@@ -171,7 +171,14 @@ module Octokit
|
|
171
171
|
def faraday_configuration
|
172
172
|
@faraday_configuration ||= Faraday.new(url: @management_console_endpoint) do |http|
|
173
173
|
http.headers[:user_agent] = user_agent
|
174
|
-
|
174
|
+
begin
|
175
|
+
http.request :multipart
|
176
|
+
rescue Faraday::Error
|
177
|
+
raise Faraday::Error, <<~ERROR
|
178
|
+
The `faraday-multipart` gem is required to upload a license.
|
179
|
+
Please add `gem "faraday-multipart"` to your Gemfile.
|
180
|
+
ERROR
|
181
|
+
end
|
175
182
|
http.request :url_encoded
|
176
183
|
|
177
184
|
# Disabling SSL is essential for certain self-hosted Enterprise instances
|
data/lib/octokit/error.rb
CHANGED
@@ -191,6 +191,8 @@ module Octokit
|
|
191
191
|
return nil unless data.is_a?(Hash) && !Array(data[:errors]).empty?
|
192
192
|
|
193
193
|
summary = +"\nError summary:\n"
|
194
|
+
return summary << data[:errors] if data[:errors].is_a?(String)
|
195
|
+
|
194
196
|
summary << data[:errors].map do |error|
|
195
197
|
if error.is_a? Hash
|
196
198
|
error.map { |k, v| " #{k}: #{v}" }
|
@@ -36,7 +36,14 @@ module Octokit
|
|
36
36
|
# @return [nil]
|
37
37
|
def upload_license(license)
|
38
38
|
conn = authenticated_client
|
39
|
-
|
39
|
+
begin
|
40
|
+
conn.request :multipart
|
41
|
+
rescue Faraday::Error
|
42
|
+
raise Faraday::Error, <<~ERROR
|
43
|
+
The `faraday-multipart` gem is required to upload a license.
|
44
|
+
Please add `gem "faraday-multipart"` to your Gemfile.
|
45
|
+
ERROR
|
46
|
+
end
|
40
47
|
params = {}
|
41
48
|
params[:license] = Faraday::FilePart.new(license, 'binary')
|
42
49
|
params[:password] = @manage_ghes_password
|
data/lib/octokit/repository.rb
CHANGED
@@ -81,8 +81,14 @@ module Octokit
|
|
81
81
|
|
82
82
|
private
|
83
83
|
|
84
|
+
ABS_URI_REGEXP = if URI.const_defined?(:RFC2396_PARSER) # Ruby 3.4+
|
85
|
+
URI::RFC2396_PARSER.regexp.fetch(:ABS_URI)
|
86
|
+
else
|
87
|
+
URI::RFC2396_Parser.new.regexp.fetch(:ABS_URI)
|
88
|
+
end
|
89
|
+
|
84
90
|
def validate_owner_and_name!(repo)
|
85
|
-
if @owner.include?('/') || @name.include?('/') || !url.match(
|
91
|
+
if @owner.include?('/') || @name.include?('/') || !url.match?(ABS_URI_REGEXP)
|
86
92
|
raise_invalid_repository!(repo)
|
87
93
|
end
|
88
94
|
end
|
data/lib/octokit/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octokit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 10.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wynn Netherland
|
8
8
|
- Erik Michaels-Ober
|
9
9
|
- Clint Shryock
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-04-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|
@@ -153,7 +153,7 @@ licenses:
|
|
153
153
|
- MIT
|
154
154
|
metadata:
|
155
155
|
rubygems_mfa_required: 'true'
|
156
|
-
post_install_message:
|
156
|
+
post_install_message:
|
157
157
|
rdoc_options: []
|
158
158
|
require_paths:
|
159
159
|
- lib
|
@@ -168,8 +168,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
168
168
|
- !ruby/object:Gem::Version
|
169
169
|
version: 1.3.5
|
170
170
|
requirements: []
|
171
|
-
rubygems_version: 3.0.
|
172
|
-
signing_key:
|
171
|
+
rubygems_version: 3.4.0.dev
|
172
|
+
signing_key:
|
173
173
|
specification_version: 4
|
174
174
|
summary: Ruby toolkit for working with the GitHub API
|
175
175
|
test_files: []
|