octokit 9.1.0 → 9.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 +4 -4
- data/lib/octokit/client/pull_requests.rb +16 -8
- 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/manage_ghes_client/manage_ghes.rb +8 -1
- data/lib/octokit/repository.rb +7 -1
- data/lib/octokit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b64084ad94f7ab597007ce5baa5e9daa39e85c0270c0993cde6bf416a2834a2c
|
4
|
+
data.tar.gz: 429a34488349b5692bc28e6051571e3e4bddfd7f697be93bd0e24c7329d1bd18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c52b64720e7ffa14ab04bf59283194dd8a0b83ba73bf9acc3c0cfbb4ef36ba6e87257f7650969d597135c8c75eb3bc1bf7a3b7a20f2746c5670e92f7cea95a9f
|
7
|
+
data.tar.gz: b0598cc84a8d4571d9e3fc64d1ed63dcef618fba37e2d9e33346ef42a766e366bc2e38fc02b7c9561b0fc7fe28a7ed8984599390deb305f86af8e98b21033b29
|
@@ -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
|
@@ -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
|
@@ -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,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octokit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wynn Netherland
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-10-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: faraday
|