octokit 0.6.4 → 0.6.5
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.
- data/.travis.yml +2 -2
- data/CHANGELOG.md +1 -0
- data/README.md +46 -24
- data/Rakefile +0 -0
- data/lib/octokit/authentication.rb +1 -3
- data/lib/octokit/client.rb +3 -1
- data/lib/octokit/client/commits.rb +3 -2
- data/lib/octokit/client/issues.rb +11 -62
- data/lib/octokit/client/labels.rb +153 -0
- data/lib/octokit/client/milestones.rb +1 -1
- data/lib/octokit/client/pub_sub_hubbub/service_hooks.rb +2 -4
- data/lib/octokit/client/repositories.rb +41 -31
- data/lib/octokit/client/timelines.rb +1 -2
- data/lib/octokit/configuration.rb +5 -12
- data/lib/octokit/repository.rb +1 -1
- data/lib/octokit/version.rb +1 -1
- data/octokit.gemspec +16 -25
- data/spec/fixtures/v3/branches.json +16 -0
- data/spec/fixtures/v3/collaborators.json +62 -0
- data/spec/fixtures/v3/commit.json +1 -0
- data/spec/fixtures/v3/commits.json +1 -0
- data/spec/fixtures/v3/contributors.json +891 -0
- data/spec/fixtures/v3/forks.json +872 -0
- data/spec/fixtures/v3/labels.json +3 -3
- data/spec/fixtures/v3/languages.json +5 -0
- data/spec/fixtures/v3/public_key.json +5 -0
- data/spec/fixtures/v3/public_keys.json +7 -0
- data/spec/fixtures/v3/repositories.json +872 -0
- data/spec/fixtures/v3/repository.json +34 -0
- data/spec/fixtures/v3/tags.json +173 -0
- data/spec/fixtures/v3/teams.json +12 -0
- data/spec/fixtures/v3/watchers.json +182 -0
- data/spec/helper.rb +3 -3
- data/spec/octokit/client/commits_spec.rb +5 -5
- data/spec/octokit/client/issues_spec.rb +14 -61
- data/spec/octokit/client/labels_spec.rb +152 -0
- data/spec/octokit/client/milestones_spec.rb +6 -6
- data/spec/octokit/client/objects_spec.rb +6 -6
- data/spec/octokit/client/organizations_spec.rb +19 -19
- data/spec/octokit/client/pub_sub_hubbub/service_hooks_spec.rb +2 -2
- data/spec/octokit/client/pub_sub_hubbub_spec.rb +3 -3
- data/spec/octokit/client/pulls_spec.rb +4 -4
- data/spec/octokit/client/repositories_spec.rb +81 -80
- data/spec/octokit/client/timelines_spec.rb +3 -3
- data/spec/octokit/client/users_spec.rb +21 -21
- data/spec/octokit/client_spec.rb +1 -11
- data/spec/octokit_spec.rb +1 -1
- metadata +125 -215
- data/.autotest +0 -1
- data/spec/fixtures/v2/branches.json +0 -1
- data/spec/fixtures/v2/collaborators.json +0 -1
- data/spec/fixtures/v2/commit.json +0 -1
- data/spec/fixtures/v2/commits.json +0 -1
- data/spec/fixtures/v2/contributors.json +0 -1
- data/spec/fixtures/v2/languages.json +0 -1
- data/spec/fixtures/v2/network.json +0 -1
- data/spec/fixtures/v2/repository.json +0 -1
- data/spec/fixtures/v2/watchers.json +0 -1
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
* [0.6.4 - July 2, 2011](https://github.com/pengwynn/octokit/compare/v0.6.3...v0.6.4)
|
3
4
|
* [0.6.3 - May 5, 2011](https://github.com/pengwynn/octokit/compare/v0.6.2...v0.6.3)
|
4
5
|
* [0.6.2 - April 26, 2011](https://github.com/pengwynn/octokit/compare/v0.6.1...v0.6.2)
|
5
6
|
* [0.6.1 - April 6, 2011](https://github.com/pengwynn/octokit/compare/v0.6.0...v0.6.1)
|
data/README.md
CHANGED
@@ -1,31 +1,23 @@
|
|
1
|
-
Octokit
|
2
|
-
=======
|
1
|
+
# Octokit
|
3
2
|
Simple Ruby wrapper for the GitHub v2 API.
|
4
3
|
|
5
4
|
 by [](https://github.com/cameronmcefee)
|
6
5
|
|
7
|
-
Installation
|
8
|
-
------------
|
6
|
+
## <a name="installation">Installation</a>
|
9
7
|
gem install octokit
|
10
8
|
|
11
|
-
Continuous Integration
|
12
|
-
|
13
|
-
[](http://travis-ci.org/pengwynn/octokit)
|
9
|
+
## <a name="ci">Continuous Integration</a>
|
10
|
+
[](http://travis-ci.org/pengwynn/octokit)
|
14
11
|
|
15
|
-
Documentation
|
16
|
-
-------------
|
12
|
+
## <a name="documentation">Documentation</a>
|
17
13
|
http://rdoc.info/gems/octokit
|
18
14
|
|
19
|
-
Examples
|
20
|
-
-------------
|
21
|
-
|
15
|
+
## <a name="examples">Examples</a>
|
22
16
|
### Show a user
|
23
|
-
|
24
17
|
Octokit.user("sferik")
|
25
18
|
=> <#Hashie::Rash blog="http://twitter.com/sferik" company="Code for America" created_at="2008/05/14 13:36:12 -0700" email="sferik@gmail.com" followers_count=177 following_count=83 gravatar_id="1f74b13f1e5c6c69cb5d7fbaabb1e2cb" id=10308 location="San Francisco" login="sferik" name="Erik Michaels-Ober" permission=nil public_gist_count=16 public_repo_count=30 type="User">
|
26
19
|
|
27
20
|
### Show who a user follows
|
28
|
-
|
29
21
|
Octokit.following("sferik")
|
30
22
|
=> ["rails", "puls", "wycats", "dhh", "jm3", "joshsusser", "nkallen", "technoweenie", "blaine", "al3x", "defunkt", "schacon", "bmizerany", "rtomayko", "jpr5", "lholden", "140proof", "ephramzerb", "carlhuda", "carllerche", "jnunemaker", "josh", "hoverbird", "jamiew", "jeremyevans", "brynary", "mojodna", "mojombo", "joshbuddy", "igrigorik", "perplexes", "joearasin", "hassox", "nickmarden", "pengwynn", "mmcgrana", "reddavis", "reinh", "mzsanford", "aanand", "pjhyett", "kneath", "tekkub", "adamstac", "timtrueman", "aaronblohowiak", "josevalim", "kaapa", "hurrycane", "jackdempsey", "drogus", "cameronpriest", "danmelton", "marcel", "r", "atmos", "mbleigh", "isaacs", "maxogden", "codeforamerica", "chadk", "laserlemon", "gruber", "lsegal", "bblimke", "wayneeseguin", "brixen", "dkubb", "bhb", "bcardarella", "elliottcable", "fbjork", "mlightner", "dianakimball", "amerine", "danchoi", "develop", "dmfrancisco", "unruthless", "trotter", "hannestyden", "codahale", "ry"]
|
31
23
|
|
@@ -40,15 +32,21 @@ For convenience, methods that require a repoistory argument may be passed in any
|
|
40
32
|
Octokit.repo("pengwynn/octokit")
|
41
33
|
=> <#Hashie::Rash created_at="2009/12/10 13:41:49 -0800" description="Simple Ruby wrapper for the GitHub v2 API and feeds" fork=false forks=25 has_downloads=true has_issues=true has_wiki=true homepage="http://wynnnetherland.com/projects/octokit" integrate_branch="master" language="Ruby" name="octokit" open_issues=8 owner="pengwynn" private=false pushed_at="2011/05/05 10:48:57 -0700" size=1804 url="https://github.com/pengwynn/octokit" watchers=92>
|
42
34
|
|
43
|
-
Authenticated requests
|
44
|
-
|
45
|
-
|
35
|
+
## <a name="authenticated_requests">Authenticated requests</a>
|
36
|
+
For methods that require authentication, you'll need to setup a client with
|
37
|
+
your login and password.
|
38
|
+
|
39
|
+
client = Octokit::Client.new(:login => "me", :password => "sekret")
|
40
|
+
client.follow!("sferik")
|
41
|
+
|
42
|
+
Alternately, you can authenticate with a GitHub OAuth2 token. Note: this is
|
43
|
+
**NOT** the GitHub API token on your [account
|
44
|
+
page](https://github.com/account).
|
46
45
|
|
47
|
-
client = Octokit::Client.new(:login => "
|
46
|
+
client = Octokit::Client.new(:login => "me", :oauth_token => "oauth2token")
|
48
47
|
client.follow!("sferik")
|
49
48
|
|
50
|
-
Submitting a Pull Request
|
51
|
-
-------------------------
|
49
|
+
## <a name="pulls">Submitting a Pull Request</a>
|
52
50
|
1. Fork the project.
|
53
51
|
2. Create a topic branch.
|
54
52
|
3. Implement your feature or bug fix.
|
@@ -59,11 +57,35 @@ Submitting a Pull Request
|
|
59
57
|
8. Commit and push your changes.
|
60
58
|
9. Submit a pull request. Please do not include changes to the version or gemspec. (If you want to create your own version for some reason, please do so in a separate commit.)
|
61
59
|
|
62
|
-
|
63
|
-
|
60
|
+
## <a name="rubies">Supported Rubies</a>
|
61
|
+
This library aims to support and is [tested
|
62
|
+
against](http://travis-ci.org/pengwynn/octokit) the following Ruby
|
63
|
+
implementations:
|
64
|
+
|
65
|
+
* Ruby 1.8.7
|
66
|
+
* Ruby 1.9.1
|
67
|
+
* Ruby 1.9.2
|
68
|
+
* [JRuby](http://www.jruby.org/)
|
69
|
+
* [Rubinius](http://rubini.us/)
|
70
|
+
* [Ruby Enterprise Edition](http://www.rubyenterpriseedition.com/)
|
71
|
+
|
72
|
+
If something doesn't work on one of these interpreters, it should be considered
|
73
|
+
a bug.
|
74
|
+
|
75
|
+
This library may inadvertently work (or seem to work) on other Ruby
|
76
|
+
implementations, however support will only be provided for the versions listed
|
77
|
+
above.
|
78
|
+
|
79
|
+
If you would like this library to support another Ruby version, you may
|
80
|
+
volunteer to be a maintainer. Being a maintainer entails making sure all tests
|
81
|
+
run and pass on that implementation. When something breaks on your
|
82
|
+
implementation, you will be personally responsible for providing patches in a
|
83
|
+
timely fashion. If critical issues for a particular implementation exist at the
|
84
|
+
time of a major release, support for that Ruby version may be dropped.
|
85
|
+
|
86
|
+
## <a name="inspiration">Inspiration</a>
|
64
87
|
Octokit was inspired by [Octopi](https://github.com/fcoury/octopi) and aims to be a lightweight, less-ActiveResourcey alternative.
|
65
88
|
|
66
|
-
Copyright
|
67
|
-
---------
|
89
|
+
## <a name="copyright">Copyright</a>
|
68
90
|
Copyright (c) 2011 [Wynn Netherland](http://wynnnetherland.com), [Adam Stacoviak](http://adamstacoviak.com/), [Erik Michaels-Ober](https://github.com/sferik).
|
69
91
|
See [LICENSE](https://github.com/pengwynn/octokit/blob/master/LICENSE) for details.
|
data/Rakefile
CHANGED
File without changes
|
data/lib/octokit/client.rb
CHANGED
@@ -5,6 +5,7 @@ require 'octokit/request'
|
|
5
5
|
|
6
6
|
require 'octokit/client/commits'
|
7
7
|
require 'octokit/client/issues'
|
8
|
+
require 'octokit/client/labels'
|
8
9
|
require 'octokit/client/network'
|
9
10
|
require 'octokit/client/milestones'
|
10
11
|
require 'octokit/client/objects'
|
@@ -18,7 +19,7 @@ require 'octokit/client/users'
|
|
18
19
|
|
19
20
|
module Octokit
|
20
21
|
class Client
|
21
|
-
attr_accessor
|
22
|
+
attr_accessor(*Configuration::VALID_OPTIONS_KEYS)
|
22
23
|
|
23
24
|
def initialize(options={})
|
24
25
|
options = Octokit.options.merge(options)
|
@@ -33,6 +34,7 @@ module Octokit
|
|
33
34
|
|
34
35
|
include Octokit::Client::Commits
|
35
36
|
include Octokit::Client::Issues
|
37
|
+
include Octokit::Client::Labels
|
36
38
|
include Octokit::Client::Network
|
37
39
|
include Octokit::Client::Milestones
|
38
40
|
include Octokit::Client::Objects
|
@@ -3,12 +3,13 @@ module Octokit
|
|
3
3
|
module Commits
|
4
4
|
|
5
5
|
def commits(repo, branch="master", options={})
|
6
|
-
|
6
|
+
options = { :per_page => 35, :sha => branch }.merge options
|
7
|
+
get("/repos/#{Repository.new(repo)}/commits", options, 3)
|
7
8
|
end
|
8
9
|
alias :list_commits :commits
|
9
10
|
|
10
11
|
def commit(repo, sha, options={})
|
11
|
-
get("/
|
12
|
+
get("/repos/#{Repository.new(repo)}/commits/#{sha}", options, 3)
|
12
13
|
end
|
13
14
|
|
14
15
|
end
|
@@ -4,7 +4,7 @@ module Octokit
|
|
4
4
|
|
5
5
|
# Search issues within a repository
|
6
6
|
#
|
7
|
-
# @param
|
7
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
8
8
|
# @param search_term [String] The term to search for
|
9
9
|
# @param state [String] :state (open) <tt>open</tt> or <tt>closed</tt>.
|
10
10
|
# @return [Array] A list of issues matching the search term and state
|
@@ -38,7 +38,7 @@ module Octokit
|
|
38
38
|
|
39
39
|
# Create an issue for a repository
|
40
40
|
#
|
41
|
-
# @param
|
41
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
42
42
|
# @param title [String] A descriptive title
|
43
43
|
# @param body [String] A concise description
|
44
44
|
# @return [Issue] Your newly created issue
|
@@ -52,7 +52,7 @@ module Octokit
|
|
52
52
|
|
53
53
|
# Get a single issue from a repository
|
54
54
|
#
|
55
|
-
# @param
|
55
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
56
56
|
# @param number [String] Number ID of the issue
|
57
57
|
# @return [Issue] The issue you requested, if it exists
|
58
58
|
# @see http://developer.github.com/v3/issues/#get-a-single-issue
|
@@ -64,7 +64,7 @@ module Octokit
|
|
64
64
|
|
65
65
|
# Close an issue
|
66
66
|
#
|
67
|
-
# @param
|
67
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
68
68
|
# @param number [String] Number ID of the issue
|
69
69
|
# @return [Issue] The updated Issue
|
70
70
|
# @see http://develop.github.com/p/issues.html
|
@@ -78,7 +78,7 @@ module Octokit
|
|
78
78
|
|
79
79
|
# Reopen an issue
|
80
80
|
#
|
81
|
-
# @param
|
81
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
82
82
|
# @param number [String] Number ID of the issue
|
83
83
|
# @return [Issue] The updated Issue
|
84
84
|
# @see http://develop.github.com/p/issues.html
|
@@ -92,7 +92,7 @@ module Octokit
|
|
92
92
|
|
93
93
|
# Update an issue
|
94
94
|
#
|
95
|
-
# @param
|
95
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
96
96
|
# @param number [String] Number ID of the issue
|
97
97
|
# @param title [String] Updated title for the issue
|
98
98
|
# @param body [String] Updated body of the issue
|
@@ -106,60 +106,9 @@ module Octokit
|
|
106
106
|
post("/api/v2/json/issues/edit/#{Repository.new(repo)}/#{number}", options.merge({:title => title, :body => body}))['issue']
|
107
107
|
end
|
108
108
|
|
109
|
-
# List available labels for a repository
|
110
|
-
#
|
111
|
-
# @param repository [String, Repository, Hash] A GitHub repository.
|
112
|
-
# @return [Array] A list of the labels currently on the issue
|
113
|
-
# @see http://develop.github.com/p/issues.html
|
114
|
-
# @see http://developer.github.com/v3/issues/labels/
|
115
|
-
# @example List labels for pengwynn/octokit
|
116
|
-
# Octokit.labels("pengwynn/octokit")
|
117
|
-
def labels(repo, options={})
|
118
|
-
get("repos/#{Repository.new(repo)}/labels", options, 3)
|
119
|
-
end
|
120
|
-
|
121
|
-
# Get single label for a repository
|
122
|
-
#
|
123
|
-
# @param repository [String, Repository, Hash] A GitHub repository.
|
124
|
-
# @param name [String] Name of the label
|
125
|
-
# @return [Label] A single label from the repository
|
126
|
-
# @see http://developer.github.com/v3/issues/labels/#get-a-single-label
|
127
|
-
# @example Get the "V3 Addition" label from pengwynn/octokit
|
128
|
-
# Octokit.labels("pengwynn/octokit")
|
129
|
-
def label(repo, name, options={})
|
130
|
-
get("repos/#{Repository.new(repo)}/labels/#{URI.encode(name)}", options, 3)
|
131
|
-
end
|
132
|
-
# Add a label to a repository
|
133
|
-
#
|
134
|
-
# @param repository [String, Repository, Hash] A GitHub repository.
|
135
|
-
# @param label [String] A new label
|
136
|
-
# @param color [String] A color, in hex, without the leading #
|
137
|
-
# @return [Array] A list of the labels currently on the issue
|
138
|
-
# @see http://developer.github.com/v3/issues/labels/
|
139
|
-
# @example Add a new label "Version 1.0" with color "#cccccc"
|
140
|
-
# Octokit.add_label("pengwynn/octokit", "Version 1.0", "cccccc")
|
141
|
-
def add_label(repo, label, color="ffffff", options={})
|
142
|
-
post("repos/#{Repository.new(repo)}/labels", options.merge({:name => label, :color => color}), 3)
|
143
|
-
end
|
144
|
-
|
145
|
-
# Remove a label from a repository
|
146
|
-
#
|
147
|
-
# @param repository [String, Repository, Hash] A GitHub repository.
|
148
|
-
# @param label [String] Label you wish to remove
|
149
|
-
# @param number [Integer] Optional Issue number to remove the label from
|
150
|
-
# @note Leaving the number parameter out will remove this label from all issues
|
151
|
-
# @return [Array] A list of the labels currently on the issue
|
152
|
-
# @see http://develop.github.com/p/issues.html
|
153
|
-
# @see http://developer.github.com/v3/issues/labels/
|
154
|
-
# @example Remove the label "Version 1.0" from the repository
|
155
|
-
# Octokit.remove_label("pengwynn/octokit", "Version 1.0")
|
156
|
-
def remove_label(repo, label, number=nil, options={})
|
157
|
-
post(["/api/v2/json/issues/label/remove/#{Repository.new(repo)}/#{label}", number].compact.join('/'), options)['labels']
|
158
|
-
end
|
159
|
-
|
160
109
|
# Get all comments attached to an issue
|
161
110
|
#
|
162
|
-
# @param
|
111
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
163
112
|
# @param number [String] Number ID of the issue
|
164
113
|
# @return [Array] Array of comments that belong to an issue
|
165
114
|
# @see http://developer.github.com/v3/issues/comments
|
@@ -171,7 +120,7 @@ module Octokit
|
|
171
120
|
|
172
121
|
# Get a single comment attached to an issue
|
173
122
|
#
|
174
|
-
# @param
|
123
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
175
124
|
# @param number [String] Number ID of the issue
|
176
125
|
# @return [Array] Array of comments that belong to an issue
|
177
126
|
# @see http://developer.github.com/v3/issues/comments/#get-a-single-comment
|
@@ -183,7 +132,7 @@ module Octokit
|
|
183
132
|
|
184
133
|
# Add a comment to an issue
|
185
134
|
#
|
186
|
-
# @param
|
135
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
187
136
|
# @param number [Integer] Issue number
|
188
137
|
# @param comment [String] Comment to be added
|
189
138
|
# @return [Comment] A JSON encoded Comment
|
@@ -196,7 +145,7 @@ module Octokit
|
|
196
145
|
|
197
146
|
# Update a single comment on an issue
|
198
147
|
#
|
199
|
-
# @param
|
148
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
200
149
|
# @param number [Integer] Comment number
|
201
150
|
# @param comment [String] Body of the comment which will replace the existing body.
|
202
151
|
# @return [Comment] A JSON encoded Comment
|
@@ -209,7 +158,7 @@ module Octokit
|
|
209
158
|
|
210
159
|
# Delete a single comment
|
211
160
|
#
|
212
|
-
# @param
|
161
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
213
162
|
# @param number [Integer] Comment number
|
214
163
|
# @return [Response] A response object with status
|
215
164
|
# @see http://developer.github.com/v3/issues/comments/#delete-a-comment
|
@@ -0,0 +1,153 @@
|
|
1
|
+
module Octokit
|
2
|
+
class Client
|
3
|
+
module Labels
|
4
|
+
|
5
|
+
# List available labels for a repository
|
6
|
+
#
|
7
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
8
|
+
# @return [Array] A list of the labels across the repository
|
9
|
+
# @see http://developer.github.com/v3/issues/labels/
|
10
|
+
# @example List labels for pengwynn/octokit
|
11
|
+
# Octokit.labels("pengwynn/octokit")
|
12
|
+
def labels(repo, options={})
|
13
|
+
get("repos/#{Repository.new(repo)}/labels", options, 3)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Get single label for a repository
|
17
|
+
#
|
18
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
19
|
+
# @param name [String] Name of the label
|
20
|
+
# @return [Label] A single label from the repository
|
21
|
+
# @see http://developer.github.com/v3/issues/labels/#get-a-single-label
|
22
|
+
# @example Get the "V3 Addition" label from pengwynn/octokit
|
23
|
+
# Octokit.labels("pengwynn/octokit")
|
24
|
+
def label(repo, name, options={})
|
25
|
+
get("repos/#{Repository.new(repo)}/labels/#{URI.encode_www_form_component(name)}", options, 3)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Add a label to a repository
|
29
|
+
#
|
30
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
31
|
+
# @param label [String] A new label
|
32
|
+
# @param color [String] A color, in hex, without the leading #
|
33
|
+
# @return [Label] A Hashie of the new label
|
34
|
+
# @see http://developer.github.com/v3/issues/labels/
|
35
|
+
# @example Add a new label "Version 1.0" with color "#cccccc"
|
36
|
+
# Octokit.add_label("pengwynn/octokit", "Version 1.0", "cccccc")
|
37
|
+
def add_label(repo, label, color="ffffff", options={})
|
38
|
+
post("repos/#{Repository.new(repo)}/labels", options.merge({:name => label, :color => color}), 3)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Update a label
|
42
|
+
#
|
43
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
44
|
+
# @param label [String] The name of the label which will be updated
|
45
|
+
# @param options [Hash] A customizable set of options.
|
46
|
+
# @option options [String] :title An updated label name
|
47
|
+
# @option options [String] :color An updated color value, in hex, without leading #
|
48
|
+
# @return [Label] A Hashie of the updated label
|
49
|
+
# @see http://developer.github.com/v3/issues/labels/#update-a-label
|
50
|
+
# @example Update the label "Version 1.0" with new color "#cceeaa"
|
51
|
+
# Octokit.update_label("pengwynn/octokit", "Version 1.0", {:color => "cceeaa"})
|
52
|
+
def update_label(repo, label, options={})
|
53
|
+
post("repos/#{Repository.new(repo)}/labels/#{URI.encode_www_form_component(label)}", options, 3)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Delete a label from a repository.
|
57
|
+
#
|
58
|
+
# This deletes the label from the repository, and removes it from all issues.
|
59
|
+
#
|
60
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
61
|
+
# @param label [String] String name of the label
|
62
|
+
# @return [Response] A Faraday Response object
|
63
|
+
# @see http://developer.github.com/v3/issues/labels/#delete-a-label
|
64
|
+
# @see http://rubydoc.info/gems/faraday/0.5.3/Faraday/Response
|
65
|
+
# @example Delete the label "Version 1.0" from the repository.
|
66
|
+
# Octokit.delete_label!("pengwynn/octokit", "Version 1.0")
|
67
|
+
def delete_label!(repo, label, options={})
|
68
|
+
delete("repos/#{Repository.new(repo)}/labels/#{URI.encode_www_form_component(label)}", options, 3, true, true)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Remove a label from an Issue
|
72
|
+
#
|
73
|
+
# This removes the label from the Issue
|
74
|
+
#
|
75
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
76
|
+
# @param number [String] Number ID of the issue
|
77
|
+
# @param label [String] String name of the label
|
78
|
+
# @return [Array] A list of the labels currently on the issue
|
79
|
+
# @see http://rubydoc.info/gems/faraday/0.5.3/Faraday/Response
|
80
|
+
# @see http://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue
|
81
|
+
# @example Remove the label "Version 1.0" from the repository.
|
82
|
+
# Octokit.remove_label("pengwynn/octokit", 23, "Version 1.0")
|
83
|
+
def remove_label(repo, number, label, options={})
|
84
|
+
delete("repos/#{Repository.new(repo)}/issues/#{number}/labels/#{URI.encode_www_form_component(label)}", options, 3, true)
|
85
|
+
end
|
86
|
+
|
87
|
+
# Remove all label from an Issue
|
88
|
+
#
|
89
|
+
# This removes the label from the Issue
|
90
|
+
#
|
91
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
92
|
+
# @param number [String] Number ID of the issue
|
93
|
+
# @return [Array] A list of the labels currently on the issue
|
94
|
+
# @see http://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue
|
95
|
+
# @example Remove all labels from Issue #23
|
96
|
+
# Octokit.remove_all_labels("pengwynn/octokit", 23)
|
97
|
+
def remove_all_labels(repo, number, options={})
|
98
|
+
delete("repos/#{Repository.new(repo)}/issues/#{number}/labels", options, 3, true, true)
|
99
|
+
end
|
100
|
+
|
101
|
+
# List labels for a given issue
|
102
|
+
#
|
103
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
104
|
+
# @param number [String] Number ID of the issue
|
105
|
+
# @return [Array] A list of the labels currently on the issue
|
106
|
+
# @see http://developer.github.com/v3/issues/labels/#list-labels-on-an-issue
|
107
|
+
# @example List labels for pengwynn/octokit
|
108
|
+
# Octokit.labels("pengwynn/octokit")
|
109
|
+
def labels_for_issue(repo, number, options={})
|
110
|
+
get("repos/#{Repository.new(repo)}/issues/#{number}/labels", options, 3)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Add label(s) to an Issue
|
114
|
+
#
|
115
|
+
# @param repo [String, Repository, Hash] A Github repository
|
116
|
+
# @param number [String] Number ID of the issue
|
117
|
+
# @param labels [Array] An array of labels to apply to this Issue
|
118
|
+
# @return [Array] A list of the labels currently on the issue
|
119
|
+
# @see http://developer.github.com/v3/issues/labels/#add-labels-to-an-issue
|
120
|
+
# @example Add two labels for pengwynn/octokit
|
121
|
+
# Octokit.add_labels_to_an_issue("pengwynn/octokit", 10, ['V3 Transition', 'Improvement'])
|
122
|
+
def add_labels_to_an_issue(repo, number, labels)
|
123
|
+
post("repos/#{Repository.new(repo)}/issues/#{number}/labels", labels, 3)
|
124
|
+
end
|
125
|
+
|
126
|
+
# Replace all labels on an Issue
|
127
|
+
#
|
128
|
+
# @param repo [String, Repository, Hash] A Github repository
|
129
|
+
# @param number [String] Number ID of the issue
|
130
|
+
# @param labels [Array] An array of labels to use as replacement
|
131
|
+
# @return [Array] A list of the labels currently on the issue
|
132
|
+
# @see http://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue
|
133
|
+
# @example Replace labels for pengwynn/octokit Issue #10
|
134
|
+
# Octokit.replace_all_labels("pengwynn/octokit", 10, ['V3 Transition', 'Improvement'])
|
135
|
+
def replace_all_labels(repo, number, labels, options={})
|
136
|
+
put("repos/#{Repository.new(repo)}/issues/#{number}/labels", labels, 3)
|
137
|
+
end
|
138
|
+
|
139
|
+
# Get labels for every issue in a milestone
|
140
|
+
#
|
141
|
+
# @param repo [String, Repository, Hash] A GitHub repository
|
142
|
+
# @param number [String] Number ID of the milestone
|
143
|
+
# @return [Array] A list of the labels across the milestone
|
144
|
+
# @see http://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone
|
145
|
+
# @example List all labels for milestone #2 on pengwynn/octokit
|
146
|
+
# Octokit.labels_for_milestone("pengwynn/octokit", 2)
|
147
|
+
def labels_for_milestone(repo, number, options={})
|
148
|
+
get("repos/#{Repository.new(repo)}/milestones/#{number}/labels", options, 3)
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|