octokit 4.1.1 → 4.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/CONTRIBUTING.md +1 -1
- data/lib/octokit/client/authorizations.rb +6 -1
- data/lib/octokit/client/issues.rb +6 -6
- data/lib/octokit/client/licenses.rb +13 -0
- data/lib/octokit/client/organizations.rb +1 -1
- data/lib/octokit/client/repositories.rb +38 -0
- data/lib/octokit/enterprise_admin_client/users.rb +10 -0
- data/lib/octokit/error.rb +6 -0
- data/lib/octokit/preview.rb +4 -3
- data/lib/octokit/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73f0bf2bde2a97e167a1fa41e45d4d5a71fb655c
|
4
|
+
data.tar.gz: 30568c40a8b5f36a3856e68887d350156a52b99b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f35e8d8ea32a30434c9906744b15248905eda5cda4b53152d85ee3543673e1e6a96a64651168123506a1de6e247018e699396aac43cc6b65d646687b53bd4e8
|
7
|
+
data.tar.gz: ccbc3c6e9392ca6ecccec7548d0e2653480cf792403916d1d56e083915bb302166e4def32f02c98e47d87786b6e427d18afbbf3d8713abeb297f08fa5a239a8c
|
data/CONTRIBUTING.md
CHANGED
@@ -18,5 +18,5 @@
|
|
18
18
|
11. [Submit a pull request.][pr]
|
19
19
|
|
20
20
|
[fork]: https://help.github.com/articles/fork-a-repo
|
21
|
-
[branch]:
|
21
|
+
[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
|
22
22
|
[pr]: https://help.github.com/articles/using-pull-requests
|
@@ -66,7 +66,12 @@ module Octokit
|
|
66
66
|
client_id, client_secret = fetch_client_id_and_secret(options)
|
67
67
|
raise ArgumentError.new("Client ID and Secret required for idempotent authorizations") unless client_id && client_secret
|
68
68
|
|
69
|
-
|
69
|
+
if fingerprint = options.delete(:fingerprint)
|
70
|
+
put "authorizations/clients/#{client_id}/#{fingerprint}", options.merge(:client_secret => client_secret)
|
71
|
+
else
|
72
|
+
put "authorizations/clients/#{client_id}", options.merge(:client_secret => client_secret)
|
73
|
+
end
|
74
|
+
|
70
75
|
else
|
71
76
|
post 'authorizations', options
|
72
77
|
end
|
@@ -15,7 +15,7 @@ module Octokit
|
|
15
15
|
# @option options [String] :assignee User login.
|
16
16
|
# @option options [String] :creator User login.
|
17
17
|
# @option options [String] :mentioned User login.
|
18
|
-
# @option options [String] :labels List of
|
18
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
19
19
|
# @option options [String] :sort (created) Sort: <tt>created</tt>, <tt>updated</tt>, or <tt>comments</tt>.
|
20
20
|
# @option options [String] :direction (desc) Direction: <tt>asc</tt> or <tt>desc</tt>.
|
21
21
|
# @option options [Integer] :page (1) Page number.
|
@@ -38,7 +38,7 @@ module Octokit
|
|
38
38
|
# @param options [Sawyer::Resource] A customizable set of options.
|
39
39
|
# @option options [String] :filter (assigned) State: <tt>assigned</tt>, <tt>created</tt>, <tt>mentioned</tt>, <tt>subscribed</tt> or <tt>closed</tt>.
|
40
40
|
# @option options [String] :state (open) State: <tt>open</tt>, <tt>closed</tt>, or <tt>all</tt>.
|
41
|
-
# @option options [String] :labels List of
|
41
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
42
42
|
# @option options [String] :sort (created) Sort: <tt>created</tt>, <tt>updated</tt>, or <tt>comments</tt>.
|
43
43
|
# @option options [String] :direction (desc) Direction: <tt>asc</tt> or <tt>desc</tt>.
|
44
44
|
# @option options [Integer] :page (1) Page number.
|
@@ -59,7 +59,7 @@ module Octokit
|
|
59
59
|
# @param options [Sawyer::Resource] A customizable set of options.
|
60
60
|
# @option options [String] :filter (assigned) State: <tt>assigned</tt>, <tt>created</tt>, <tt>mentioned</tt>, <tt>subscribed</tt> or <tt>closed</tt>.
|
61
61
|
# @option options [String] :state (open) State: <tt>open</tt>, <tt>closed</tt>, or <tt>all</tt>.
|
62
|
-
# @option options [String] :labels List of
|
62
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
63
63
|
# @option options [String] :sort (created) Sort: <tt>created</tt>, <tt>updated</tt>, or <tt>comments</tt>.
|
64
64
|
# @option options [String] :direction (desc) Direction: <tt>asc</tt> or <tt>desc</tt>.
|
65
65
|
# @option options [Integer] :page (1) Page number.
|
@@ -121,7 +121,7 @@ module Octokit
|
|
121
121
|
# @param options [Hash] A customizable set of options.
|
122
122
|
# @option options [String] :assignee User login.
|
123
123
|
# @option options [Integer] :milestone Milestone number.
|
124
|
-
# @option options [String] :labels List of
|
124
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
125
125
|
# @return [Sawyer::Resource] The updated Issue
|
126
126
|
# @see https://developer.github.com/v3/issues/#edit-an-issue
|
127
127
|
# @example Close Issue #25 from octokit/octokit.rb
|
@@ -137,7 +137,7 @@ module Octokit
|
|
137
137
|
# @param options [Hash] A customizable set of options.
|
138
138
|
# @option options [String] :assignee User login.
|
139
139
|
# @option options [Integer] :milestone Milestone number.
|
140
|
-
# @option options [String] :labels List of
|
140
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
141
141
|
# @return [Sawyer::Resource] The updated Issue
|
142
142
|
# @see https://developer.github.com/v3/issues/#edit-an-issue
|
143
143
|
# @example Reopen Issue #25 from octokit/octokit.rb
|
@@ -167,7 +167,7 @@ module Octokit
|
|
167
167
|
# @option options [String] :body Updated body of the issue
|
168
168
|
# @option options [String] :assignee User login.
|
169
169
|
# @option options [Integer] :milestone Milestone number.
|
170
|
-
#
|
170
|
+
# @option options [Array<String>] :labels List of Label names. Example: <tt>['bug', 'ui', '@high']</tt>.
|
171
171
|
# @option options [String] :state State of the issue. <tt>open</tt> or <tt>closed</tt>
|
172
172
|
# @return [Sawyer::Resource] The updated Issue
|
173
173
|
# @see https://developer.github.com/v3/issues/#edit-an-issue
|
@@ -27,6 +27,19 @@ module Octokit
|
|
27
27
|
options = ensure_api_media_type(:licenses, options)
|
28
28
|
get "licenses/#{license_name}", options
|
29
29
|
end
|
30
|
+
|
31
|
+
# Returns the contents of the repository’s license file, if one is detected.
|
32
|
+
#
|
33
|
+
# @see https://developer.github.com/v3/licenses/#get-a-repositorys-license
|
34
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
35
|
+
# @option options [String] :ref name of the Commit/Branch/Tag. Defaults to 'master'.
|
36
|
+
# @return [Sawyer::Resource] The detail of the license file
|
37
|
+
# @example
|
38
|
+
# Octokit.license_contents 'benbalter/licensee'
|
39
|
+
def repository_license_contents(repo, options = {})
|
40
|
+
options = ensure_api_media_type(:licenses, options)
|
41
|
+
get "#{Repository.path repo}/license", options
|
42
|
+
end
|
30
43
|
end
|
31
44
|
end
|
32
45
|
end
|
@@ -498,7 +498,7 @@ module Octokit
|
|
498
498
|
# @return [Array<Sawyer::Resource>] Array of team resources.
|
499
499
|
# @see https://developer.github.com/v3/orgs/teams/#list-user-teams
|
500
500
|
def user_teams(options = {})
|
501
|
-
paginate "
|
501
|
+
paginate "user/teams", options
|
502
502
|
end
|
503
503
|
|
504
504
|
# Check if a user has a team membership.
|
@@ -483,6 +483,44 @@ module Octokit
|
|
483
483
|
end
|
484
484
|
alias :get_branch :branch
|
485
485
|
|
486
|
+
# Lock a single branch from a repository
|
487
|
+
#
|
488
|
+
# Requires authenticated client
|
489
|
+
#
|
490
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
491
|
+
# @param branch [String] Branch name
|
492
|
+
# @param required_status_checks [Hash]
|
493
|
+
# @return [Sawyer::Resource] The protected branch
|
494
|
+
# @see https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection
|
495
|
+
# @example
|
496
|
+
# @client.protect_branch('octokit/octokit.rb', 'master', foo)
|
497
|
+
def protect_branch(repo, branch, required_status_checks = {}, options = {})
|
498
|
+
if !required_status_checks.empty?
|
499
|
+
required_status_checks = { :required_status_checks => required_status_checks }
|
500
|
+
end
|
501
|
+
|
502
|
+
protection = { :protection => { :enabled => true }.merge(required_status_checks) }
|
503
|
+
options = ensure_api_media_type(:branch_protection, options.merge(protection))
|
504
|
+
|
505
|
+
patch "#{Repository.path repo}/branches/#{branch}", options
|
506
|
+
end
|
507
|
+
|
508
|
+
# Unlock a single branch from a repository
|
509
|
+
#
|
510
|
+
# Requires authenticated client
|
511
|
+
#
|
512
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository.
|
513
|
+
# @param branch [String] Branch name
|
514
|
+
# @return [Sawyer::Resource] The unprotected branch
|
515
|
+
# @see https://developer.github.com/v3/repos/#enabling-and-disabling-branch-protection
|
516
|
+
# @example
|
517
|
+
# @client.unprotect_branch('octokit/octokit.rb', 'master')
|
518
|
+
def unprotect_branch(repo, branch, options = {})
|
519
|
+
protection = { :protection => { :enabled => false } }
|
520
|
+
options = ensure_api_media_type(:branch_protection, options.merge(protection))
|
521
|
+
patch "#{Repository.path repo}/branches/#{branch}", options
|
522
|
+
end
|
523
|
+
|
486
524
|
# List users available for assigning to issues.
|
487
525
|
#
|
488
526
|
# Requires authenticated client for private repos.
|
@@ -52,6 +52,16 @@ module Octokit
|
|
52
52
|
patch "admin/users/#{old_login}", options
|
53
53
|
end
|
54
54
|
|
55
|
+
# Deletes a user.
|
56
|
+
#
|
57
|
+
# @param username [String] The username to delete.
|
58
|
+
# @see https://developer.github.com/v3/users/administration/#delete-a-user
|
59
|
+
# @example
|
60
|
+
# @admin_client.delete_key(1)
|
61
|
+
def delete_user(id, options = {})
|
62
|
+
boolean_from_response :delete, "admin/users/#{id}", options
|
63
|
+
end
|
64
|
+
|
55
65
|
# Suspend a user.
|
56
66
|
#
|
57
67
|
# @param user [String] Username of the user to suspend.
|
data/lib/octokit/error.rb
CHANGED
@@ -66,6 +66,8 @@ module Octokit
|
|
66
66
|
Octokit::AbuseDetected
|
67
67
|
elsif body =~ /repository access blocked/i
|
68
68
|
Octokit::RepositoryUnavailable
|
69
|
+
elsif body =~ /email address must be verified/i
|
70
|
+
Octokit::UnverifiedEmail
|
69
71
|
else
|
70
72
|
Octokit::Forbidden
|
71
73
|
end
|
@@ -199,6 +201,10 @@ module Octokit
|
|
199
201
|
# and body matches 'repository access blocked'
|
200
202
|
class RepositoryUnavailable < Forbidden; end
|
201
203
|
|
204
|
+
# Raised when GitHub returns a 403 HTTP status code
|
205
|
+
# and body matches 'email address must be verified'
|
206
|
+
class UnverifiedEmail < Forbidden; end
|
207
|
+
|
202
208
|
# Raised when GitHub returns a 404 HTTP status code
|
203
209
|
class NotFound < ClientError; end
|
204
210
|
|
data/lib/octokit/preview.rb
CHANGED
@@ -4,14 +4,15 @@ module Octokit
|
|
4
4
|
module Preview
|
5
5
|
|
6
6
|
PREVIEW_TYPES = {
|
7
|
-
:
|
8
|
-
:
|
7
|
+
:branch_protection => 'application/vnd.github.loki-preview+json'.freeze,
|
8
|
+
:migrations => 'application/vnd.github.wyandotte-preview+json'.freeze,
|
9
|
+
:licenses => 'application/vnd.github.drax-preview+json'.freeze
|
9
10
|
}
|
10
11
|
|
11
12
|
def ensure_api_media_type(type, options)
|
12
13
|
if options[:accept].nil?
|
13
14
|
options[:accept] = PREVIEW_TYPES[type]
|
14
|
-
warn_preview(
|
15
|
+
warn_preview(type)
|
15
16
|
end
|
16
17
|
options
|
17
18
|
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: 4.
|
4
|
+
version: 4.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: 2015-
|
13
|
+
date: 2015-11-17 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
version: 1.3.5
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
|
-
rubygems_version: 2.
|
147
|
+
rubygems_version: 2.4.5.1
|
148
148
|
signing_key:
|
149
149
|
specification_version: 4
|
150
150
|
summary: Ruby toolkit for working with the GitHub API
|