Module: Octokit::Client::Issues
- Included in:
- Octokit::Client
- Defined in:
- lib/octokit/client/issues.rb
Overview
Methods for the Issues API
Instance Method Summary collapse
-
#add_assignees(repo, number, assignees, options = {}) ⇒ Sawyer::Resource
Add assignees to an issue.
-
#add_comment(repo, number, comment, options = {}) ⇒ Sawyer::Resource
Add a comment to an issue.
-
#close_issue(repo, number, options = {}) ⇒ Sawyer::Resource
Close an issue.
-
#create_issue(repo, title, body = nil, options = {}) ⇒ Sawyer::Resource
(also: #open_issue)
Create an issue for a repository.
-
#delete_comment(repo, number, options = {}) ⇒ Boolean
Delete a single comment.
-
#issue(repo, number, options = {}) ⇒ Sawyer::Resource
Get a single issue from a repository.
-
#issue_comment(repo, number, options = {}) ⇒ Sawyer::Resource
Get a single comment attached to an issue.
-
#issue_comments(repo, number, options = {}) ⇒ Array<Sawyer::Resource>
Get all comments attached to an issue.
-
#issue_timeline(repo, number, options = {}) ⇒ Sawyer::Resource
Get the timeline for an issue.
-
#issues_comments(repo, options = {}) ⇒ Array<Sawyer::Resource>
Get all comments attached to issues for the repository.
-
#list_issues(repository = nil, options = {}) ⇒ Array<Sawyer::Resource>
(also: #issues)
List issues for the authenticated user or repository.
-
#lock_issue(repo, number, options = {}) ⇒ Boolean
Lock an issue's conversation, limiting it to collaborators.
-
#org_issues(org, options = {}) ⇒ Array<Sawyer::Resource>
List all issues for a given organization for the authenticated user.
-
#remove_assignees(repo, number, assignees, options = {}) ⇒ Sawyer::Resource
Remove assignees from an issue.
-
#reopen_issue(repo, number, options = {}) ⇒ Sawyer::Resource
Reopen an issue.
-
#unlock_issue(repo, number, options = {}) ⇒ Boolean
Unlock an issue's conversation, opening it to all viewers.
-
#update_comment(repo, number, comment, options = {}) ⇒ Sawyer::Resource
Update a single comment on an issue.
-
#update_issue(repo, number, *args) ⇒ Sawyer::Resource
Update an issue.
-
#user_issues(options = {}) ⇒ Array<Sawyer::Resource>
List all issues across owned and member repositories for the authenticated user.
Instance Method Details
#add_assignees(repo, number, assignees, options = {}) ⇒ Sawyer::Resource
Add assignees to an issue
329 330 331 |
# File 'lib/octokit/client/issues.rb', line 329 def add_assignees(repo, number, assignees, = {}) post "#{Repository.path repo}/issues/#{number}/assignees", .merge({:assignees => assignees}) end |
#add_comment(repo, number, comment, options = {}) ⇒ Sawyer::Resource
Add a comment to an issue
278 279 280 |
# File 'lib/octokit/client/issues.rb', line 278 def add_comment(repo, number, comment, = {}) post "#{Repository.path repo}/issues/#{number}/comments", .merge({:body => comment}) end |
#close_issue(repo, number, options = {}) ⇒ Sawyer::Resource
Close an issue
129 130 131 |
# File 'lib/octokit/client/issues.rb', line 129 def close_issue(repo, number, = {}) patch "#{Repository.path repo}/issues/#{number}", .merge({:state => "closed"}) end |
#create_issue(repo, title, body = nil, options = {}) ⇒ Sawyer::Resource Also known as: open_issue
Create an issue for a repository
90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/octokit/client/issues.rb', line 90 def create_issue(repo, title, body = nil, = {}) [:labels] = case [:labels] when String [:labels].split(",").map(&:strip) when Array [:labels] else [] end parameters = { :title => title } parameters[:body] = body unless body.nil? post "#{Repository.path repo}/issues", .merge(parameters) end |
#delete_comment(repo, number, options = {}) ⇒ Boolean
Delete a single comment
303 304 305 |
# File 'lib/octokit/client/issues.rb', line 303 def delete_comment(repo, number, = {}) boolean_from_response :delete, "#{Repository.path repo}/issues/comments/#{number}", end |
#issue(repo, number, options = {}) ⇒ Sawyer::Resource
Get a single issue from a repository
113 114 115 |
# File 'lib/octokit/client/issues.rb', line 113 def issue(repo, number, = {}) get "#{Repository.path repo}/issues/#{number}", end |
#issue_comment(repo, number, options = {}) ⇒ Sawyer::Resource
Get a single comment attached to an issue
265 266 267 |
# File 'lib/octokit/client/issues.rb', line 265 def issue_comment(repo, number, = {}) paginate "#{Repository.path repo}/issues/comments/#{number}", end |
#issue_comments(repo, number, options = {}) ⇒ Array<Sawyer::Resource>
Get all comments attached to an issue
253 254 255 |
# File 'lib/octokit/client/issues.rb', line 253 def issue_comments(repo, number, = {}) paginate "#{Repository.path repo}/issues/#{number}/comments", end |
#issue_timeline(repo, number, options = {}) ⇒ Sawyer::Resource
Get the timeline for an issue
315 316 317 318 |
# File 'lib/octokit/client/issues.rb', line 315 def issue_timeline(repo, number, = {}) = ensure_api_media_type(:issue_timelines, ) paginate "#{Repository.path repo}/issues/#{number}/timeline", end |
#issues_comments(repo, options = {}) ⇒ Array<Sawyer::Resource>
Get all comments attached to issues for the repository
By default, Issue Comments are ordered by ascending ID.
241 242 243 |
# File 'lib/octokit/client/issues.rb', line 241 def issues_comments(repo, = {}) paginate "#{Repository.path repo}/issues/comments", end |
#list_issues(repository = nil, options = {}) ⇒ Array<Sawyer::Resource> Also known as: issues
List issues for the authenticated user or repository
30 31 32 33 |
# File 'lib/octokit/client/issues.rb', line 30 def list_issues(repository = nil, = {}) path = repository ? "#{Repository.new(repository).path}/issues" : "issues" paginate path, end |
#lock_issue(repo, number, options = {}) ⇒ Boolean
Lock an issue's conversation, limiting it to collaborators
157 158 159 |
# File 'lib/octokit/client/issues.rb', line 157 def lock_issue(repo, number, = {}) boolean_from_response :put, "#{Repository.path repo}/issues/#{number}/lock", end |
#org_issues(org, options = {}) ⇒ Array<Sawyer::Resource>
List all issues for a given organization for the authenticated user
73 74 75 |
# File 'lib/octokit/client/issues.rb', line 73 def org_issues(org, = {}) paginate "#{Organization.path org}/issues", end |
#remove_assignees(repo, number, assignees, options = {}) ⇒ Sawyer::Resource
Remove assignees from an issue
347 348 349 |
# File 'lib/octokit/client/issues.rb', line 347 def remove_assignees(repo, number, assignees, = {}) delete "#{Repository.path repo}/issues/#{number}/assignees", .merge({:assignees => assignees}) end |
#reopen_issue(repo, number, options = {}) ⇒ Sawyer::Resource
Reopen an issue
145 146 147 |
# File 'lib/octokit/client/issues.rb', line 145 def reopen_issue(repo, number, = {}) patch "#{Repository.path repo}/issues/#{number}", .merge({:state => "open"}) end |
#unlock_issue(repo, number, options = {}) ⇒ Boolean
Unlock an issue's conversation, opening it to all viewers
169 170 171 |
# File 'lib/octokit/client/issues.rb', line 169 def unlock_issue(repo, number, = {}) boolean_from_response :delete, "#{Repository.path repo}/issues/#{number}/lock", end |
#update_comment(repo, number, comment, options = {}) ⇒ Sawyer::Resource
Update a single comment on an issue
291 292 293 |
# File 'lib/octokit/client/issues.rb', line 291 def update_comment(repo, number, comment, = {}) patch "#{Repository.path repo}/issues/comments/#{number}", .merge({:body => comment}) end |
#update_issue(repo, number, title, body, options) ⇒ Sawyer::Resource #update_issue(repo, number, options) ⇒ Sawyer::Resource
Update an issue
204 205 206 207 208 209 210 211 212 213 214 |
# File 'lib/octokit/client/issues.rb', line 204 def update_issue(repo, number, *args) arguments = Arguments.new(args) opts = arguments. if arguments.length > 0 opts[:title] = arguments.shift opts[:body] = arguments.shift end patch "#{Repository.path repo}/issues/#{number}", opts end |
#user_issues(options = {}) ⇒ Array<Sawyer::Resource>
List all issues across owned and member repositories for the authenticated user
52 53 54 |
# File 'lib/octokit/client/issues.rb', line 52 def user_issues( = {}) paginate 'user/issues', end |