octokit 4.6.2 → 6.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CONTRIBUTING.md +14 -13
- data/LICENSE.md +1 -1
- data/README.md +239 -118
- data/Rakefile +12 -12
- data/lib/ext/sawyer/relation.rb +4 -2
- data/lib/octokit/arguments.rb +2 -2
- data/lib/octokit/authentication.rb +20 -14
- data/lib/octokit/client/actions_artifacts.rb +71 -0
- data/lib/octokit/client/actions_secrets.rb +59 -0
- data/lib/octokit/client/actions_workflow_jobs.rb +65 -0
- data/lib/octokit/client/actions_workflow_runs.rb +125 -0
- data/lib/octokit/client/actions_workflows.rb +68 -0
- data/lib/octokit/client/apps.rb +222 -0
- data/lib/octokit/client/checks.rb +200 -0
- data/lib/octokit/client/commit_branches.rb +20 -0
- data/lib/octokit/client/commit_comments.rb +8 -8
- data/lib/octokit/client/commit_pulls.rb +20 -0
- data/lib/octokit/client/commits.rb +31 -34
- data/lib/octokit/client/community_profile.rb +21 -0
- data/lib/octokit/client/contents.rb +25 -20
- data/lib/octokit/client/deployments.rb +25 -5
- data/lib/octokit/client/downloads.rb +5 -6
- data/lib/octokit/client/emojis.rb +3 -3
- data/lib/octokit/client/environments.rb +55 -0
- data/lib/octokit/client/events.rb +4 -4
- data/lib/octokit/client/feeds.rb +4 -5
- data/lib/octokit/client/gists.rb +7 -6
- data/lib/octokit/client/gitignore.rb +3 -3
- data/lib/octokit/client/hooks.rb +9 -19
- data/lib/octokit/client/issues.rb +60 -14
- data/lib/octokit/client/labels.rb +17 -17
- data/lib/octokit/client/legacy_search.rb +3 -3
- data/lib/octokit/client/licenses.rb +4 -7
- data/lib/octokit/client/markdown.rb +3 -3
- data/lib/octokit/client/marketplace.rb +56 -0
- data/lib/octokit/client/meta.rb +4 -5
- data/lib/octokit/client/milestones.rb +5 -5
- data/lib/octokit/client/notifications.rb +6 -10
- data/lib/octokit/client/oauth_applications.rb +116 -0
- data/lib/octokit/client/objects.rb +14 -14
- data/lib/octokit/client/organizations.rb +238 -61
- data/lib/octokit/client/pages.rb +5 -7
- data/lib/octokit/client/projects.rb +50 -70
- data/lib/octokit/client/pub_sub_hubbub.rb +16 -16
- data/lib/octokit/client/pull_requests.rb +58 -46
- data/lib/octokit/client/rate_limit.rb +11 -13
- data/lib/octokit/client/reactions.rb +6 -11
- data/lib/octokit/client/refs.rb +32 -19
- data/lib/octokit/client/releases.rb +14 -13
- data/lib/octokit/client/repositories.rb +195 -54
- data/lib/octokit/client/repository_invitations.rb +4 -11
- data/lib/octokit/client/reviews.rb +227 -0
- data/lib/octokit/client/say.rb +4 -5
- data/lib/octokit/client/search.rb +46 -17
- data/lib/octokit/client/service_status.rb +19 -9
- data/lib/octokit/client/source_import.rb +8 -13
- data/lib/octokit/client/stats.rb +12 -9
- data/lib/octokit/client/statuses.rb +6 -6
- data/lib/octokit/client/tokens.rb +31 -0
- data/lib/octokit/client/traffic.rb +6 -11
- data/lib/octokit/client/users.rb +106 -25
- data/lib/octokit/client.rb +66 -17
- data/lib/octokit/configurable.rb +42 -30
- data/lib/octokit/connection.rb +43 -21
- data/lib/octokit/default.rb +63 -34
- data/lib/octokit/enterprise_admin_client/admin_stats.rb +14 -15
- data/lib/octokit/enterprise_admin_client/license.rb +4 -5
- data/lib/octokit/enterprise_admin_client/orgs.rb +5 -6
- data/lib/octokit/enterprise_admin_client/search_indexing.rb +8 -9
- data/lib/octokit/enterprise_admin_client/users.rb +17 -16
- data/lib/octokit/enterprise_admin_client.rb +9 -3
- data/lib/octokit/enterprise_management_console_client/management_console.rb +33 -33
- data/lib/octokit/enterprise_management_console_client.rb +9 -3
- data/lib/octokit/error.rb +107 -26
- data/lib/octokit/gist.rb +4 -5
- data/lib/octokit/middleware/follow_redirects.rb +17 -13
- data/lib/octokit/organization.rb +3 -1
- data/lib/octokit/rate_limit.rb +11 -9
- data/lib/octokit/repo_arguments.rb +2 -3
- data/lib/octokit/repository.rb +27 -25
- data/lib/octokit/response/base_middleware.rb +10 -0
- data/lib/octokit/response/feed_parser.rb +5 -9
- data/lib/octokit/response/raise_error.rb +4 -6
- data/lib/octokit/user.rb +4 -2
- data/lib/octokit/version.rb +5 -3
- data/lib/octokit/warnable.rb +4 -5
- data/lib/octokit.rb +15 -8
- data/octokit.gemspec +13 -10
- metadata +55 -22
- data/lib/octokit/client/authorizations.rb +0 -244
- data/lib/octokit/preview.rb +0 -35
@@ -0,0 +1,116 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Octokit
|
4
|
+
class Client
|
5
|
+
# Methods for the OauthApplications API
|
6
|
+
#
|
7
|
+
# @see https://developer.github.com/v3/apps/oauth_applications
|
8
|
+
module OauthApplications
|
9
|
+
# Check if a token is valid.
|
10
|
+
#
|
11
|
+
# Applications can check if a token is valid without rate limits.
|
12
|
+
#
|
13
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
14
|
+
#
|
15
|
+
# @return [Sawyer::Resource] A single authorization for the authenticated user
|
16
|
+
# @see https://developer.github.com/v3/apps/oauth_applications/#check-a-token
|
17
|
+
#
|
18
|
+
# @example
|
19
|
+
# client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
|
20
|
+
# client.check_token('deadbeef1234567890deadbeef987654321')
|
21
|
+
def check_token(access_token, options = {})
|
22
|
+
options[:access_token] = access_token
|
23
|
+
|
24
|
+
key = options.delete(:client_id) || client_id
|
25
|
+
secret = options.delete(:client_secret) || client_secret
|
26
|
+
|
27
|
+
as_app(key, secret) do |app_client|
|
28
|
+
app_client.post "applications/#{client_id}/token", options
|
29
|
+
end
|
30
|
+
end
|
31
|
+
alias check_application_authorization check_token
|
32
|
+
|
33
|
+
# Reset a token
|
34
|
+
#
|
35
|
+
# Applications can reset a token without requiring a user to re-authorize.
|
36
|
+
#
|
37
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
38
|
+
#
|
39
|
+
# @return [Sawyer::Resource] A single authorization for the authenticated user
|
40
|
+
# @see https://developer.github.com/v3/apps/oauth_applications/#reset-a-token
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
|
44
|
+
# client.reset_token('deadbeef1234567890deadbeef987654321')
|
45
|
+
def reset_token(access_token, options = {})
|
46
|
+
options[:access_token] = access_token
|
47
|
+
|
48
|
+
key = options.delete(:client_id) || client_id
|
49
|
+
secret = options.delete(:client_secret) || client_secret
|
50
|
+
|
51
|
+
as_app(key, secret) do |app_client|
|
52
|
+
app_client.patch "applications/#{client_id}/token", options
|
53
|
+
end
|
54
|
+
end
|
55
|
+
alias reset_application_authorization reset_token
|
56
|
+
|
57
|
+
# Delete an app token
|
58
|
+
#
|
59
|
+
# Applications can revoke (delete) a token
|
60
|
+
#
|
61
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
62
|
+
#
|
63
|
+
# @return [Boolean] Result
|
64
|
+
# @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
|
68
|
+
# client.delete_token('deadbeef1234567890deadbeef987654321')
|
69
|
+
def delete_app_token(access_token, options = {})
|
70
|
+
options[:access_token] = access_token
|
71
|
+
|
72
|
+
key = options.delete(:client_id) || client_id
|
73
|
+
secret = options.delete(:client_secret) || client_secret
|
74
|
+
|
75
|
+
begin
|
76
|
+
as_app(key, secret) do |app_client|
|
77
|
+
app_client.delete "applications/#{client_id}/token", options
|
78
|
+
app_client.last_response.status == 204
|
79
|
+
end
|
80
|
+
rescue Octokit::NotFound
|
81
|
+
false
|
82
|
+
end
|
83
|
+
end
|
84
|
+
alias delete_application_authorization delete_app_token
|
85
|
+
alias revoke_application_authorization delete_app_token
|
86
|
+
|
87
|
+
# Delete an app authorization
|
88
|
+
#
|
89
|
+
# OAuth application owners can revoke a grant for their OAuth application and a specific user.
|
90
|
+
#
|
91
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
92
|
+
#
|
93
|
+
# @return [Boolean] Result
|
94
|
+
# @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
|
95
|
+
#
|
96
|
+
# @example
|
97
|
+
# client = Octokit::Client.new(:client_id => 'abcdefg12345', :client_secret => 'secret')
|
98
|
+
# client.delete_app_authorization('deadbeef1234567890deadbeef987654321')
|
99
|
+
def delete_app_authorization(access_token, options = {})
|
100
|
+
options[:access_token] = access_token
|
101
|
+
|
102
|
+
key = options.delete(:client_id) || client_id
|
103
|
+
secret = options.delete(:client_secret) || client_secret
|
104
|
+
|
105
|
+
begin
|
106
|
+
as_app(key, secret) do |app_client|
|
107
|
+
app_client.delete "applications/#{client_id}/grant", options
|
108
|
+
app_client.last_response.status == 204
|
109
|
+
end
|
110
|
+
rescue Octokit::NotFound
|
111
|
+
false
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Octokit
|
2
4
|
class Client
|
3
|
-
|
4
5
|
# Methods for the Git Data API
|
5
6
|
#
|
6
7
|
# @see https://developer.github.com/v3/git/
|
7
8
|
module Objects
|
8
|
-
|
9
9
|
# Get a single tree, fetching information about its root-level objects
|
10
10
|
#
|
11
11
|
# Pass <tt>:recursive => true</tt> in <tt>options</tt> to fetch information about all of the tree's objects, including those in subdirectories.
|
@@ -38,7 +38,7 @@ module Octokit
|
|
38
38
|
# tree.sha # => "cd8274d15fa3ae2ab983129fb037999f264ba9a7"
|
39
39
|
# tree.tree.first.path # => "file.rb"
|
40
40
|
def create_tree(repo, tree, options = {})
|
41
|
-
parameters = { :
|
41
|
+
parameters = { tree: tree }
|
42
42
|
post "#{Repository.path repo}/git/trees", options.merge(parameters)
|
43
43
|
end
|
44
44
|
|
@@ -74,10 +74,10 @@ module Octokit
|
|
74
74
|
# @example Create a blob containing <tt>foo bar baz</tt>, encoded using base64
|
75
75
|
# require "base64"
|
76
76
|
# Octokit.create_blob("octocat/Hello-World", Base64.encode64("foo bar baz"), "base64")
|
77
|
-
def create_blob(repo, content, encoding=
|
77
|
+
def create_blob(repo, content, encoding = 'utf-8', options = {})
|
78
78
|
parameters = {
|
79
|
-
:
|
80
|
-
:
|
79
|
+
content: content,
|
80
|
+
encoding: encoding
|
81
81
|
}
|
82
82
|
blob = post "#{Repository.path repo}/git/blobs", options.merge(parameters)
|
83
83
|
|
@@ -124,14 +124,14 @@ module Octokit
|
|
124
124
|
# )
|
125
125
|
def create_tag(repo, tag, message, object_sha, type, tagger_name, tagger_email, tagger_date, options = {})
|
126
126
|
options.merge!(
|
127
|
-
:
|
128
|
-
:
|
129
|
-
:
|
130
|
-
:
|
131
|
-
:
|
132
|
-
:
|
133
|
-
:
|
134
|
-
:
|
127
|
+
tag: tag,
|
128
|
+
message: message,
|
129
|
+
object: object_sha,
|
130
|
+
type: type,
|
131
|
+
tagger: {
|
132
|
+
name: tagger_name,
|
133
|
+
email: tagger_email,
|
134
|
+
date: tagger_date
|
135
135
|
}
|
136
136
|
)
|
137
137
|
post "#{Repository.path repo}/git/tags", options
|