This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Octokit
|
||||
class Client
|
||||
# Methods for the Commit Comments API
|
||||
#
|
||||
# @see https://developer.github.com/v3/repos/comments/
|
||||
module CommitComments
|
||||
# List all commit comments
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @return [Array] List of commit comments
|
||||
# @see https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository
|
||||
def list_commit_comments(repo, options = {})
|
||||
paginate "#{Repository.path repo}/comments", options
|
||||
end
|
||||
|
||||
# List comments for a single commit
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @param sha [String] The SHA of the commit whose comments will be fetched
|
||||
# @return [Array] List of commit comments
|
||||
# @see https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit
|
||||
def commit_comments(repo, sha, options = {})
|
||||
paginate "#{Repository.path repo}/commits/#{sha}/comments", options
|
||||
end
|
||||
|
||||
# Get a single commit comment
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @param id [String] The ID of the comment to fetch
|
||||
# @return [Sawyer::Resource] Commit comment
|
||||
# @see https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment
|
||||
def commit_comment(repo, id, options = {})
|
||||
get "#{Repository.path repo}/comments/#{id}", options
|
||||
end
|
||||
|
||||
# Create a commit comment
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @param sha [String] Sha of the commit to comment on
|
||||
# @param body [String] Message
|
||||
# @param path [String] Relative path of file to comment on
|
||||
# @param line [Integer] Line number in the file to comment on
|
||||
# @param position [Integer] Line index in the diff to comment on
|
||||
# @return [Sawyer::Resource] Commit comment
|
||||
# @see https://developer.github.com/v3/repos/comments/#create-a-commit-comment
|
||||
# @example Create a commit comment
|
||||
# comment = Octokit.create_commit_comment("octocat/Hello-World", "827efc6d56897b048c772eb4087f854f46256132", "My comment message", "README.md", 10, 1)
|
||||
# comment.commit_id # => "827efc6d56897b048c772eb4087f854f46256132"
|
||||
# comment.id # => 54321
|
||||
# comment.body # => "My comment message"
|
||||
# comment.path # => "README.md"
|
||||
# comment.line # => 10
|
||||
# comment.position # => 1
|
||||
def create_commit_comment(repo, sha, body, path = nil, line = nil, position = nil, options = {})
|
||||
params = {
|
||||
body: body,
|
||||
path: path,
|
||||
line: line,
|
||||
position: position
|
||||
}
|
||||
post "#{Repository.path repo}/commits/#{sha}/comments", options.merge(params)
|
||||
end
|
||||
|
||||
# Update a commit comment
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @param id [String] The ID of the comment to update
|
||||
# @param body [String] Message
|
||||
# @return [Sawyer::Resource] Updated commit comment
|
||||
# @see https://developer.github.com/v3/repos/comments/#update-a-commit-comment
|
||||
# @example Update a commit comment
|
||||
# comment = Octokit.update_commit_comment("octocat/Hello-World", "860296", "Updated commit comment")
|
||||
# comment.id # => 860296
|
||||
# comment.body # => "Updated commit comment"
|
||||
def update_commit_comment(repo, id, body, options = {})
|
||||
params = {
|
||||
body: body
|
||||
}
|
||||
patch "#{Repository.path repo}/comments/#{id}", options.merge(params)
|
||||
end
|
||||
|
||||
# Delete a commit comment
|
||||
#
|
||||
# @param repo [Integer, String, Hash, Repository] A GitHub repository
|
||||
# @param id [String] The ID of the comment to delete
|
||||
# @return [Boolean] Success
|
||||
# @see https://developer.github.com/v3/repos/comments/#delete-a-commit-comment
|
||||
def delete_commit_comment(repo, id, options = {})
|
||||
boolean_from_response :delete, "#{Repository.path repo}/comments/#{id}", options
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user