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_assignees(repo, options = {}) ⇒ Array<Sawyer::Resource>
Lists the available assignees for issues in a 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
344 345 346 |
# File 'lib/octokit/client/issues.rb', line 344 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
283 284 285 |
# File 'lib/octokit/client/issues.rb', line 283 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
131 132 133 |
# File 'lib/octokit/client/issues.rb', line 131 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
91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/octokit/client/issues.rb', line 91 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
308 309 310 |
# File 'lib/octokit/client/issues.rb', line 308 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
114 115 116 |
# File 'lib/octokit/client/issues.rb', line 114 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
270 271 272 |
# File 'lib/octokit/client/issues.rb', line 270 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
258 259 260 |
# File 'lib/octokit/client/issues.rb', line 258 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
320 321 322 |
# File 'lib/octokit/client/issues.rb', line 320 def issue_timeline(repo, number, = {}) 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.
246 247 248 |
# File 'lib/octokit/client/issues.rb', line 246 def issues_comments(repo, = {}) paginate "#{Repository.path repo}/issues/comments", end |
#list_assignees(repo, options = {}) ⇒ Array<Sawyer::Resource>
Lists the available assignees for issues in a repository.
331 332 333 |
# File 'lib/octokit/client/issues.rb', line 331 def list_assignees(repo, = {}) paginate "#{Repository.path repo}/assignees", 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
160 161 162 |
# File 'lib/octokit/client/issues.rb', line 160 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
362 363 364 |
# File 'lib/octokit/client/issues.rb', line 362 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
148 149 150 |
# File 'lib/octokit/client/issues.rb', line 148 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
172 173 174 |
# File 'lib/octokit/client/issues.rb', line 172 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
296 297 298 |
# File 'lib/octokit/client/issues.rb', line 296 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
209 210 211 212 213 214 215 216 217 218 219 |
# File 'lib/octokit/client/issues.rb', line 209 def update_issue(repo, number, *args) arguments = Arguments.new(args) opts = arguments. unless arguments.empty? 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 |