octokit 4.18.0 → 4.22.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +2 -4
- data/README.md +13 -15
- data/lib/octokit/authentication.rb +1 -1
- data/lib/octokit/client/actions_secrets.rb +58 -0
- data/lib/octokit/client/actions_workflow_runs.rb +105 -0
- data/lib/octokit/client/actions_workflows.rb +43 -0
- data/lib/octokit/client/apps.rb +23 -24
- data/lib/octokit/client/authorizations.rb +1 -1
- data/lib/octokit/client/checks.rb +0 -20
- data/lib/octokit/client/commits.rb +6 -1
- data/lib/octokit/client/contents.rb +4 -0
- data/lib/octokit/client/deployments.rb +10 -0
- data/lib/octokit/client/oauth_applications.rb +2 -2
- data/lib/octokit/client/organizations.rb +31 -17
- data/lib/octokit/client/pub_sub_hubbub.rb +2 -2
- data/lib/octokit/client/refs.rb +13 -1
- data/lib/octokit/client/repositories.rb +82 -8
- data/lib/octokit/client/users.rb +86 -0
- data/lib/octokit/client.rb +9 -3
- data/lib/octokit/connection.rb +15 -12
- data/lib/octokit/error.rb +36 -2
- data/lib/octokit/middleware/follow_redirects.rb +4 -1
- data/lib/octokit/preview.rb +1 -4
- data/lib/octokit/rate_limit.rb +1 -1
- data/lib/octokit/response/feed_parser.rb +0 -2
- data/lib/octokit/response/raise_error.rb +0 -2
- data/lib/octokit/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 072c9ec7fa2439cc75655ff5c925efeedc19fe386eae30a30be712524802b3ad
|
4
|
+
data.tar.gz: 177806faf28428ecd942d0159c268cae122e2ec7a88d4bc3e0b34e41a2b3409c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a087ec2c360f33db0cd6526ba76ae8762d57885a24577d36ada1baf1cf3019e93beeaa70455bb6cf08f64d9328e84112043d202526b42e94f8cb1bfb96faada
|
7
|
+
data.tar.gz: 8425341fe9135936b066de860c2722ad77b8a3c3ce2d8fe478a5420a3c911fc56a419ce4808a290f55199074bab94953500d3cdbc7345f9d9137d66cccb9de39
|
data/CONTRIBUTING.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
## Submitting a Pull Request
|
2
2
|
|
3
3
|
0. Read our [Code of Conduct](CODE_OF_CONDUCT.md).
|
4
|
-
1. Check out Hacking on Octokit in the
|
5
|
-
bootstrapping the project for local development.
|
4
|
+
1. Check out [Hacking on Octokit](README.md#hacking-on-octokitrb) in the
|
5
|
+
README for bootstrapping the project for local development.
|
6
6
|
2. [Fork the repository.][fork]
|
7
7
|
3. [Create a topic branch.][branch]
|
8
8
|
4. Add specs for your unimplemented feature or bug fix.
|
@@ -18,8 +18,6 @@
|
|
18
18
|
add "[ci skip]" to your commit message to avoid needless CI builds.
|
19
19
|
12. [Submit a pull request.][pr]
|
20
20
|
|
21
|
-
Please abide by
|
22
|
-
|
23
21
|
[fork]: https://help.github.com/articles/fork-a-repo
|
24
22
|
[branch]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
|
25
23
|
[pr]: https://help.github.com/articles/using-pull-requests
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Ruby toolkit for the GitHub API.
|
4
4
|
|
5
|
-
![logo](
|
5
|
+
![logo](https://docs.github.com/assets/images/gundamcat.png)
|
6
6
|
|
7
7
|
Upgrading? Check the [Upgrade Guide](#upgrading-guide) before bumping to a new
|
8
8
|
[major version][semver].
|
@@ -41,7 +41,7 @@ Upgrading? Check the [Upgrade Guide](#upgrading-guide) before bumping to a new
|
|
41
41
|
1. [Debugging](#debugging)
|
42
42
|
2. [Caching](#caching)
|
43
43
|
14. [Hacking on Octokit.rb](#hacking-on-octokitrb)
|
44
|
-
1. [Code of
|
44
|
+
1. [Code of Conduct](#code-of-conduct)
|
45
45
|
2. [Running and writing new tests](#running-and-writing-new-tests)
|
46
46
|
15. [Supported Ruby Versions](#supported-ruby-versions)
|
47
47
|
16. [Versioning](#versioning)
|
@@ -86,10 +86,10 @@ Access the library in Ruby:
|
|
86
86
|
|
87
87
|
```ruby
|
88
88
|
# Provide authentication credentials
|
89
|
-
client = Octokit::Client.new(:
|
89
|
+
client = Octokit::Client.new(:access_token => 'personal_access_token')
|
90
90
|
|
91
|
-
#
|
92
|
-
# client = Octokit::Client.new(:
|
91
|
+
# You can still use the username/password syntax by replacing the password value with your PAT.
|
92
|
+
# client = Octokit::Client.new(:login => 'defunkt', :password => 'personal_access_token')
|
93
93
|
|
94
94
|
# Fetch the current user
|
95
95
|
client.user
|
@@ -323,7 +323,7 @@ custom pattern for traversing large lists.
|
|
323
323
|
|
324
324
|
## Working with GitHub Enterprise
|
325
325
|
|
326
|
-
With a bit of setup, you can also use Octokit with your
|
326
|
+
With a bit of setup, you can also use Octokit with your GitHub Enterprise instance.
|
327
327
|
|
328
328
|
### Interacting with the GitHub.com APIs in GitHub Enterprise
|
329
329
|
|
@@ -584,7 +584,9 @@ stack = Faraday::RackBuilder.new do |builder|
|
|
584
584
|
builder.use Octokit::Middleware::FollowRedirects
|
585
585
|
builder.use Octokit::Response::RaiseError
|
586
586
|
builder.use Octokit::Response::FeedParser
|
587
|
-
builder.response :logger
|
587
|
+
builder.response :logger do |logger|
|
588
|
+
logger.filter(/(Authorization: "(token|Bearer) )(\w+)/, '\1[REMOVED]')
|
589
|
+
end
|
588
590
|
builder.adapter Faraday.default_adapter
|
589
591
|
end
|
590
592
|
Octokit.middleware = stack
|
@@ -651,7 +653,7 @@ to run a Ruby console to poke on Octokit, you can crank one up with:
|
|
651
653
|
|
652
654
|
script/console
|
653
655
|
|
654
|
-
Using the scripts in `./
|
656
|
+
Using the scripts in `./script` instead of `bundle exec rspec`, `bundle
|
655
657
|
console`, etc. ensures your dependencies are up-to-date.
|
656
658
|
|
657
659
|
### Code of Conduct
|
@@ -713,16 +715,12 @@ when writing new specs.
|
|
713
715
|
|
714
716
|
## Supported Ruby Versions
|
715
717
|
|
716
|
-
This library aims to support and is [tested against][
|
718
|
+
This library aims to support and is [tested against][actions] the following Ruby
|
717
719
|
implementations:
|
718
720
|
|
719
|
-
* Ruby 2.0
|
720
|
-
* Ruby 2.1
|
721
|
-
* Ruby 2.2
|
722
|
-
* Ruby 2.3
|
723
|
-
* Ruby 2.4
|
724
721
|
* Ruby 2.5
|
725
722
|
* Ruby 2.6
|
723
|
+
* Ruby 2.7
|
726
724
|
|
727
725
|
If something doesn't work on one of these Ruby versions, it's a bug.
|
728
726
|
|
@@ -737,7 +735,7 @@ implementation, you will be responsible for providing patches in a timely
|
|
737
735
|
fashion. If critical issues for a particular implementation exist at the time
|
738
736
|
of a major release, support for that Ruby version may be dropped.
|
739
737
|
|
740
|
-
[
|
738
|
+
[actions]: https://github.com/octokit/octokit.rb/actions
|
741
739
|
|
742
740
|
## Versioning
|
743
741
|
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
|
4
|
+
# Methods for the Actions Secrets API
|
5
|
+
#
|
6
|
+
# @see https://developer.github.com/v3/actions/secrets/
|
7
|
+
module ActionsSecrets
|
8
|
+
|
9
|
+
# Get public key for secrets encryption
|
10
|
+
#
|
11
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
12
|
+
# @return [Hash] key_id and key
|
13
|
+
# @see https://developer.github.com/v3/actions/secrets/#get-your-public-key
|
14
|
+
def get_public_key(repo)
|
15
|
+
get "#{Repository.path repo}/actions/secrets/public-key"
|
16
|
+
end
|
17
|
+
|
18
|
+
|
19
|
+
# List secrets
|
20
|
+
#
|
21
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
22
|
+
# @return [Hash] total_count and list of secrets (each item is hash with name, created_at and updated_at)
|
23
|
+
# @see https://developer.github.com/v3/actions/secrets/#list-secrets-for-a-repository
|
24
|
+
def list_secrets(repo)
|
25
|
+
paginate "#{Repository.path repo}/actions/secrets"
|
26
|
+
end
|
27
|
+
|
28
|
+
# Get a secret
|
29
|
+
#
|
30
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
31
|
+
# @param name [String] Name of secret
|
32
|
+
# @return [Hash] name, created_at and updated_at
|
33
|
+
# @see https://developer.github.com/v3/actions/secrets/#get-a-secret
|
34
|
+
def get_secret(repo, name)
|
35
|
+
get "#{Repository.path repo}/actions/secrets/#{name}"
|
36
|
+
end
|
37
|
+
|
38
|
+
# Create or update secrets
|
39
|
+
#
|
40
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
41
|
+
# @param name [String] Name of secret
|
42
|
+
# @param options [Hash] encrypted_value and key_id
|
43
|
+
# @see https://developer.github.com/v3/actions/secrets/#create-or-update-a-secret-for-a-repository
|
44
|
+
def create_or_update_secret(repo, name, options)
|
45
|
+
put "#{Repository.path repo}/actions/secrets/#{name}", options
|
46
|
+
end
|
47
|
+
|
48
|
+
# Delete a secret
|
49
|
+
#
|
50
|
+
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
51
|
+
# @param name [String] Name of secret
|
52
|
+
# @see https://developer.github.com/v3/actions/secrets/#delete-a-secret-from-a-repository
|
53
|
+
def delete_secret(repo, name)
|
54
|
+
boolean_from_response :delete, "#{Repository.path repo}/actions/secrets/#{name}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -0,0 +1,105 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
module ActionsWorkflowRuns
|
4
|
+
# List all runs for a repository workflow
|
5
|
+
#
|
6
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
7
|
+
# @param workflow [Integer, String] Id or file name of the workflow
|
8
|
+
# @option options [String] :actor Optional filtering by a user
|
9
|
+
# @option options [String] :branch Optional filtering by a branch
|
10
|
+
# @option options [String] :event Optional filtering by the event type
|
11
|
+
# @option options [String] :status Optional filtering by a status or conclusion
|
12
|
+
#
|
13
|
+
# @return [Sawyer::Resource] the total count and an array of workflows
|
14
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#list-workflow-runs
|
15
|
+
def workflow_runs(repo, workflow, options = {})
|
16
|
+
paginate "#{Repository.path repo}/actions/workflows/#{workflow}/runs", options
|
17
|
+
end
|
18
|
+
alias list_workflow_runs workflow_runs
|
19
|
+
|
20
|
+
# List all workflow runs for a repository
|
21
|
+
#
|
22
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
23
|
+
# @option options [String] :actor Optional filtering by the login of a user
|
24
|
+
# @option options [String] :branch Optional filtering by a branch
|
25
|
+
# @option options [String] :event Optional filtering by the event type (e.g. push, pull_request, issue)
|
26
|
+
# @option options [String] :status Optional filtering by a status or conclusion (e.g. success, completed...)
|
27
|
+
#
|
28
|
+
# @return [Sawyer::Resource] the total count and an array of workflows
|
29
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#list-repository-workflow-runs
|
30
|
+
def repository_workflow_runs(repo, options = {})
|
31
|
+
paginate "#{Repository.path repo}/actions/runs", options
|
32
|
+
end
|
33
|
+
alias list_repository_workflow_runs repository_workflow_runs
|
34
|
+
|
35
|
+
# Get a workflow run
|
36
|
+
#
|
37
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
38
|
+
# @param id [Integer] Id of a workflow run
|
39
|
+
#
|
40
|
+
# @return [Sawyer::Resource] Run information
|
41
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#get-a-workflow-run
|
42
|
+
def workflow_run(repo, id, options = {})
|
43
|
+
get "#{Repository.path repo}/actions/runs/#{id}", options
|
44
|
+
end
|
45
|
+
|
46
|
+
# Re-runs a workflow run
|
47
|
+
#
|
48
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
49
|
+
# @param id [Integer] Id of a workflow run
|
50
|
+
#
|
51
|
+
# @return [Boolean] Returns true if the re-run request was accepted
|
52
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#re-run-a-workflow
|
53
|
+
def rerun_workflow_run(repo, id, options = {})
|
54
|
+
boolean_from_response :post, "#{Repository.path repo}/actions/runs/#{id}/rerun", options
|
55
|
+
end
|
56
|
+
|
57
|
+
# Cancels a workflow run
|
58
|
+
#
|
59
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
60
|
+
# @param id [Integer] Id of a workflow run
|
61
|
+
#
|
62
|
+
# @return [Boolean] Returns true if the cancellation was accepted
|
63
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#cancel-a-workflow-run
|
64
|
+
def cancel_workflow_run(repo, id, options = {})
|
65
|
+
boolean_from_response :post, "#{Repository.path repo}/actions/runs/#{id}/cancel", options
|
66
|
+
end
|
67
|
+
|
68
|
+
# Deletes a workflow run
|
69
|
+
#
|
70
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
71
|
+
# @param id [Integer] Id of a workflow run
|
72
|
+
#
|
73
|
+
# @return [Boolean] Returns true if the run is deleted
|
74
|
+
# @see https://docs.github.com/en/rest/reference/actions#delete-a-workflow-run
|
75
|
+
def delete_workflow_run(repo, id, options = {})
|
76
|
+
boolean_from_response :delete, "#{Repository.path repo}/actions/runs/#{id}", options
|
77
|
+
end
|
78
|
+
|
79
|
+
# Get a download url for archived log files of a workflow run
|
80
|
+
#
|
81
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
82
|
+
# @param id [Integer] Id of a workflow run
|
83
|
+
#
|
84
|
+
# @return [String] URL to the archived log files of the run
|
85
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#download-workflow-run-logs
|
86
|
+
def workflow_run_logs(repo, id, options = {})
|
87
|
+
url = "#{Repository.path repo}/actions/runs/#{id}/logs"
|
88
|
+
|
89
|
+
response = client_without_redirects.head(url, options)
|
90
|
+
response.headers['Location']
|
91
|
+
end
|
92
|
+
|
93
|
+
# Delets all log files of a workflow run
|
94
|
+
#
|
95
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
96
|
+
# @param id [Integer] Id of a workflow run
|
97
|
+
#
|
98
|
+
# @return [Boolean] Returns true if the logs are deleted
|
99
|
+
# @see https://developer.github.com/v3/actions/workflow-runs/#delete-workflow-run-logs
|
100
|
+
def delete_workflow_run_logs(repo, id, options = {})
|
101
|
+
boolean_from_response :delete, "#{Repository.path repo}/actions/runs/#{id}/logs", options
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
# Methods for the Actions Workflows API
|
4
|
+
#
|
5
|
+
# @see https://developer.github.com/v3/actions/workflows
|
6
|
+
module ActionsWorkflows
|
7
|
+
|
8
|
+
# Get the workflows in a repository
|
9
|
+
#
|
10
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
11
|
+
#
|
12
|
+
# @return [Sawyer::Resource] the total count and an array of workflows
|
13
|
+
# @see https://developer.github.com/v3/actions/workflows/#list-repository-workflows
|
14
|
+
def workflows(repo, options = {})
|
15
|
+
paginate "#{Repository.path repo}/actions/workflows", options
|
16
|
+
end
|
17
|
+
alias list_workflows workflows
|
18
|
+
|
19
|
+
# Get single workflow in a repository
|
20
|
+
#
|
21
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
22
|
+
# @param id [Integer, String] Id or file name of the workflow
|
23
|
+
#
|
24
|
+
# @return [Sawyer::Resource] A single workflow
|
25
|
+
# @see https://developer.github.com/v3/actions/workflows/#get-a-workflow
|
26
|
+
def workflow(repo, id, options = {})
|
27
|
+
get "#{Repository.path repo}/actions/workflows/#{id}", options
|
28
|
+
end
|
29
|
+
|
30
|
+
# Create a workflow dispatch event
|
31
|
+
#
|
32
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
33
|
+
# @param id [Integer, String] Id or file name of the workflow
|
34
|
+
# @param ref [String] A SHA, branch name, or tag name
|
35
|
+
#
|
36
|
+
# @return [Boolean] True if event was dispatched, false otherwise
|
37
|
+
# @see https://docs.github.com/en/rest/reference/actions#create-a-workflow-dispatch-event
|
38
|
+
def workflow_dispatch(repo, id, ref, options = {})
|
39
|
+
boolean_from_response :post, "#{Repository.path repo}/actions/workflows/#{id}/dispatches", options.merge({ ref: ref })
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
data/lib/octokit/client/apps.rb
CHANGED
@@ -4,6 +4,17 @@ module Octokit
|
|
4
4
|
# Methods for the Apps API
|
5
5
|
module Apps
|
6
6
|
|
7
|
+
# Get the authenticated App
|
8
|
+
#
|
9
|
+
# @param options [Hash] A customizable set of options
|
10
|
+
#
|
11
|
+
# @see https://developer.github.com/v3/apps/#get-the-authenticated-app
|
12
|
+
#
|
13
|
+
# @return [Sawyer::Resource] App information
|
14
|
+
def app(options = {})
|
15
|
+
get "app", options
|
16
|
+
end
|
17
|
+
|
7
18
|
# Find all installations that belong to an App
|
8
19
|
#
|
9
20
|
# @param options [Hash] A customizable set of options
|
@@ -12,8 +23,7 @@ module Octokit
|
|
12
23
|
#
|
13
24
|
# @return [Array<Sawyer::Resource>] the total_count and an array of installations
|
14
25
|
def find_app_installations(options = {})
|
15
|
-
|
16
|
-
paginate "app/installations", opts
|
26
|
+
paginate "app/installations", options
|
17
27
|
end
|
18
28
|
alias find_installations find_app_installations
|
19
29
|
|
@@ -35,8 +45,7 @@ module Octokit
|
|
35
45
|
#
|
36
46
|
# @return [Sawyer::Resource] the total_count and an array of installations
|
37
47
|
def find_user_installations(options = {})
|
38
|
-
|
39
|
-
paginate("user/installations", opts) do |data, last_response|
|
48
|
+
paginate("user/installations", options) do |data, last_response|
|
40
49
|
data.installations.concat last_response.data.installations
|
41
50
|
end
|
42
51
|
end
|
@@ -49,8 +58,7 @@ module Octokit
|
|
49
58
|
#
|
50
59
|
# @return [Sawyer::Resource] Installation information
|
51
60
|
def installation(id, options = {})
|
52
|
-
|
53
|
-
get "app/installations/#{id}", opts
|
61
|
+
get "app/installations/#{id}", options
|
54
62
|
end
|
55
63
|
|
56
64
|
# Create a new installation token
|
@@ -62,8 +70,7 @@ module Octokit
|
|
62
70
|
#
|
63
71
|
# @return [<Sawyer::Resource>] An installation token
|
64
72
|
def create_app_installation_access_token(installation, options = {})
|
65
|
-
|
66
|
-
post "app/installations/#{installation}/access_tokens", opts
|
73
|
+
post "app/installations/#{installation}/access_tokens", options
|
67
74
|
end
|
68
75
|
alias create_installation_access_token create_app_installation_access_token
|
69
76
|
|
@@ -86,8 +93,7 @@ module Octokit
|
|
86
93
|
#
|
87
94
|
# @return [Sawyer::Resource] Installation information
|
88
95
|
def find_organization_installation(organization, options = {})
|
89
|
-
|
90
|
-
get "#{Organization.path(organization)}/installation", opts
|
96
|
+
get "#{Organization.path(organization)}/installation", options
|
91
97
|
end
|
92
98
|
|
93
99
|
# Enables an app to find the repository's installation information.
|
@@ -99,8 +105,7 @@ module Octokit
|
|
99
105
|
#
|
100
106
|
# @return [Sawyer::Resource] Installation information
|
101
107
|
def find_repository_installation(repo, options = {})
|
102
|
-
|
103
|
-
get "#{Repository.path(repo)}/installation", opts
|
108
|
+
get "#{Repository.path(repo)}/installation", options
|
104
109
|
end
|
105
110
|
|
106
111
|
# Enables an app to find the user's installation information.
|
@@ -112,8 +117,7 @@ module Octokit
|
|
112
117
|
#
|
113
118
|
# @return [Sawyer::Resource] Installation information
|
114
119
|
def find_user_installation(user, options = {})
|
115
|
-
|
116
|
-
get "#{User.path(user)}/installation", opts
|
120
|
+
get "#{User.path(user)}/installation", options
|
117
121
|
end
|
118
122
|
|
119
123
|
# List repositories that are accessible to the authenticated installation
|
@@ -124,8 +128,7 @@ module Octokit
|
|
124
128
|
#
|
125
129
|
# @return [Sawyer::Resource] the total_count and an array of repositories
|
126
130
|
def list_app_installation_repositories(options = {})
|
127
|
-
|
128
|
-
paginate("installation/repositories", opts) do |data, last_response|
|
131
|
+
paginate("installation/repositories", options) do |data, last_response|
|
129
132
|
data.repositories.concat last_response.data.repositories
|
130
133
|
end
|
131
134
|
end
|
@@ -151,8 +154,7 @@ module Octokit
|
|
151
154
|
#
|
152
155
|
# @return [Boolean] Success
|
153
156
|
def add_repository_to_app_installation(installation, repo, options = {})
|
154
|
-
|
155
|
-
boolean_from_response :put, "user/installations/#{installation}/repositories/#{repo}", opts
|
157
|
+
boolean_from_response :put, "user/installations/#{installation}/repositories/#{repo}", options
|
156
158
|
end
|
157
159
|
alias add_repo_to_installation add_repository_to_app_installation
|
158
160
|
|
@@ -176,8 +178,7 @@ module Octokit
|
|
176
178
|
#
|
177
179
|
# @return [Boolean] Success
|
178
180
|
def remove_repository_from_app_installation(installation, repo, options = {})
|
179
|
-
|
180
|
-
boolean_from_response :delete, "user/installations/#{installation}/repositories/#{repo}", opts
|
181
|
+
boolean_from_response :delete, "user/installations/#{installation}/repositories/#{repo}", options
|
181
182
|
end
|
182
183
|
alias remove_repo_from_installation remove_repository_from_app_installation
|
183
184
|
|
@@ -200,8 +201,7 @@ module Octokit
|
|
200
201
|
#
|
201
202
|
# @return [Sawyer::Resource] the total_count and an array of repositories
|
202
203
|
def find_installation_repositories_for_user(installation, options = {})
|
203
|
-
|
204
|
-
paginate("user/installations/#{installation}/repositories", opts) do |data, last_response|
|
204
|
+
paginate("user/installations/#{installation}/repositories", options) do |data, last_response|
|
205
205
|
data.repositories.concat last_response.data.repositories
|
206
206
|
end
|
207
207
|
end
|
@@ -215,8 +215,7 @@ module Octokit
|
|
215
215
|
#
|
216
216
|
# @return [Boolean] Success
|
217
217
|
def delete_installation(installation, options = {})
|
218
|
-
|
219
|
-
boolean_from_response :delete, "app/installations/#{installation}", opts
|
218
|
+
boolean_from_response :delete, "app/installations/#{installation}", options
|
220
219
|
end
|
221
220
|
end
|
222
221
|
end
|
@@ -59,7 +59,7 @@ module Octokit
|
|
59
59
|
# client = Octokit::Client.new(:login => 'ctshryock', :password => 'secret')
|
60
60
|
# client.create_authorization({:idempotent => true, :client_id => 'xxxx', :client_secret => 'yyyy', :scopes => ["user"]})
|
61
61
|
def create_authorization(options = {})
|
62
|
-
#
|
62
|
+
# Technically we can omit scopes as GitHub has a default, however the
|
63
63
|
# API will reject us if we send a POST request with an empty body.
|
64
64
|
options = options.dup
|
65
65
|
if options.delete :idempotent
|
@@ -23,7 +23,6 @@ module Octokit
|
|
23
23
|
# check_run.head_sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
|
24
24
|
# check_run.status # => "queued"
|
25
25
|
def create_check_run(repo, name, head_sha, options = {})
|
26
|
-
ensure_api_media_type(:checks, options)
|
27
26
|
options[:name] = name
|
28
27
|
options[:head_sha] = head_sha
|
29
28
|
|
@@ -41,8 +40,6 @@ module Octokit
|
|
41
40
|
# check_run.id # => 51295429
|
42
41
|
# check_run.status # => "in_progress"
|
43
42
|
def update_check_run(repo, id, options = {})
|
44
|
-
ensure_api_media_type(:checks, options)
|
45
|
-
|
46
43
|
patch "#{Repository.path repo}/check-runs/#{id}", options
|
47
44
|
end
|
48
45
|
|
@@ -63,8 +60,6 @@ module Octokit
|
|
63
60
|
# result.check_runs[0].id # => 51295429
|
64
61
|
# result.check_runs[0].status # => "in_progress"
|
65
62
|
def check_runs_for_ref(repo, ref, options = {})
|
66
|
-
ensure_api_media_type(:checks, options)
|
67
|
-
|
68
63
|
get "#{Repository.path repo}/commits/#{ref}/check-runs", options
|
69
64
|
end
|
70
65
|
alias :list_check_runs_for_ref :check_runs_for_ref
|
@@ -86,8 +81,6 @@ module Octokit
|
|
86
81
|
# result.check_runs[0].check_suite.id # => 50440400
|
87
82
|
# result.check_runs[0].status # => "in_progress"
|
88
83
|
def check_runs_for_check_suite(repo, id, options = {})
|
89
|
-
ensure_api_media_type(:checks, options)
|
90
|
-
|
91
84
|
get "#{Repository.path repo}/check-suites/#{id}/check-runs", options
|
92
85
|
end
|
93
86
|
alias :list_check_runs_for_check_suite :check_runs_for_check_suite
|
@@ -99,8 +92,6 @@ module Octokit
|
|
99
92
|
# @return [Sawyer::Resource] A hash representing the check run
|
100
93
|
# @see https://developer.github.com/v3/checks/runs/#get-a-single-check-run
|
101
94
|
def check_run(repo, id, options = {})
|
102
|
-
ensure_api_media_type(:checks, options)
|
103
|
-
|
104
95
|
get "#{Repository.path repo}/check-runs/#{id}", options
|
105
96
|
end
|
106
97
|
|
@@ -116,8 +107,6 @@ module Octokit
|
|
116
107
|
# annotations[0].path # => "README.md"
|
117
108
|
# annotations[0].message # => "Looks good!"
|
118
109
|
def check_run_annotations(repo, id, options = {})
|
119
|
-
ensure_api_media_type(:checks, options)
|
120
|
-
|
121
110
|
get "#{Repository.path repo}/check-runs/#{id}/annotations", options
|
122
111
|
end
|
123
112
|
|
@@ -132,8 +121,6 @@ module Octokit
|
|
132
121
|
# @return [Sawyer::Resource] A hash representing the check suite
|
133
122
|
# @see https://developer.github.com/v3/checks/suites/#get-a-single-check-suite
|
134
123
|
def check_suite(repo, id, options = {})
|
135
|
-
ensure_api_media_type(:checks, options)
|
136
|
-
|
137
124
|
get "#{Repository.path repo}/check-suites/#{id}", options
|
138
125
|
end
|
139
126
|
|
@@ -153,8 +140,6 @@ module Octokit
|
|
153
140
|
# result.check_suites[0].id # => 50440400
|
154
141
|
# result.check_suites[0].app.id # => 76765
|
155
142
|
def check_suites_for_ref(repo, ref, options = {})
|
156
|
-
ensure_api_media_type(:checks, options)
|
157
|
-
|
158
143
|
get "#{Repository.path repo}/commits/#{ref}/check-suites", options
|
159
144
|
end
|
160
145
|
alias :list_check_suites_for_ref :check_suites_for_ref
|
@@ -172,8 +157,6 @@ module Octokit
|
|
172
157
|
# result.preferences.auto_trigger_checks[0].setting # => false
|
173
158
|
# result.repository.full_name # => "octocat/Hello-World"
|
174
159
|
def set_check_suite_preferences(repo, options = {})
|
175
|
-
ensure_api_media_type(:checks, options)
|
176
|
-
|
177
160
|
patch "#{Repository.path repo}/check-suites/preferences", options
|
178
161
|
end
|
179
162
|
|
@@ -188,7 +171,6 @@ module Octokit
|
|
188
171
|
# check_suite.head_sha # => "7638417db6d59f3c431d3e1f261cc637155684cd"
|
189
172
|
# check_suite.status # => "queued"
|
190
173
|
def create_check_suite(repo, head_sha, options = {})
|
191
|
-
ensure_api_media_type(:checks, options)
|
192
174
|
options[:head_sha] = head_sha
|
193
175
|
|
194
176
|
post "#{Repository.path repo}/check-suites", options
|
@@ -201,8 +183,6 @@ module Octokit
|
|
201
183
|
# @return [Boolean] True if successful, raises an error otherwise
|
202
184
|
# @see https://developer.github.com/v3/checks/suites/#rerequest-check-suite
|
203
185
|
def rerequest_check_suite(repo, id, options = {})
|
204
|
-
ensure_api_media_type(:checks, options)
|
205
|
-
|
206
186
|
post "#{Repository.path repo}/check-suites/#{id}/rerequest", options
|
207
187
|
true
|
208
188
|
end
|
@@ -189,13 +189,18 @@ module Octokit
|
|
189
189
|
|
190
190
|
# Compare two commits
|
191
191
|
#
|
192
|
+
# When using auto_pagination, commits from all pages will be concatenated
|
193
|
+
# into the <tt>commits</tt> attribute of the first page's response.
|
194
|
+
#
|
192
195
|
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
193
196
|
# @param start [String] The sha of the starting commit
|
194
197
|
# @param endd [String] The sha of the ending commit
|
195
198
|
# @return [Sawyer::Resource] A hash representing the comparison
|
196
199
|
# @see https://developer.github.com/v3/repos/commits/#compare-two-commits
|
197
200
|
def compare(repo, start, endd, options = {})
|
198
|
-
|
201
|
+
paginate "#{Repository.path repo}/compare/#{start}...#{endd}", options do |data, last_response|
|
202
|
+
data.commits.concat last_response.data.commits
|
203
|
+
end
|
199
204
|
end
|
200
205
|
|
201
206
|
# Merge a branch or sha
|
@@ -16,6 +16,8 @@ module Octokit
|
|
16
16
|
# @see https://developer.github.com/v3/repos/contents/#get-the-readme
|
17
17
|
# @example Get the readme file for a repo
|
18
18
|
# Octokit.readme("octokit/octokit.rb")
|
19
|
+
# @example Get the readme file for a particular branch of the repo
|
20
|
+
# Octokit.readme("octokit/octokit.rb", :query => {:ref => 'some-other-branch'})
|
19
21
|
def readme(repo, options={})
|
20
22
|
get "#{Repository.path repo}/readme", options
|
21
23
|
end
|
@@ -29,6 +31,8 @@ module Octokit
|
|
29
31
|
# @see https://developer.github.com/v3/repos/contents/#get-contents
|
30
32
|
# @example List the contents of lib/octokit.rb
|
31
33
|
# Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb')
|
34
|
+
# @example Lists the contents of lib /octokit.rb on a particular branch
|
35
|
+
# Octokit.contents("octokit/octokit.rb", :path => 'lib/octokit.rb', :query => {:ref => 'some-other-branch'})
|
32
36
|
def contents(repo, options={})
|
33
37
|
options = options.dup
|
34
38
|
repo_path = options.delete :path
|
@@ -43,6 +43,16 @@ module Octokit
|
|
43
43
|
post("#{Repository.path repo}/deployments", options)
|
44
44
|
end
|
45
45
|
|
46
|
+
# Delete a Deployment
|
47
|
+
#
|
48
|
+
# @param repo [Integer, String, Repository, Hash] A GitHub repository
|
49
|
+
# @param deployment_id [Integer, String, Repository, Hash] A GitHub repository
|
50
|
+
# @return [No Content]
|
51
|
+
# @see https://developer.github.com/v3/repos/deployments/#delete-a-deployment
|
52
|
+
def delete_deployment(repo, deployment_id, options = {})
|
53
|
+
delete("#{Repository.path repo}/deployments/#{deployment_id}", options)
|
54
|
+
end
|
55
|
+
|
46
56
|
# List all statuses for a Deployment
|
47
57
|
#
|
48
58
|
# @param deployment_url [String] A URL for a deployment resource
|
@@ -62,7 +62,7 @@ module Octokit
|
|
62
62
|
#
|
63
63
|
# Applications can revoke (delete) a token
|
64
64
|
#
|
65
|
-
# @param
|
65
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
66
66
|
#
|
67
67
|
# @return [Boolean] Result
|
68
68
|
# @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
|
@@ -93,7 +93,7 @@ module Octokit
|
|
93
93
|
#
|
94
94
|
# OAuth application owners can revoke a grant for their OAuth application and a specific user.
|
95
95
|
#
|
96
|
-
# @param
|
96
|
+
# @param access_token [String] 40 character GitHub OAuth access token
|
97
97
|
#
|
98
98
|
# @return [Boolean] Result
|
99
99
|
# @see https://developer.github.com/v3/apps/oauth_applications/#delete-an-app-token
|