class Github::PullRequests::Comments
def _validate_reply_to(params)
def _validate_reply_to(params) if params['in_reply_to'] && !assert_required_keys(%w[ body in_reply_to ], params) raise ArgumentError, "Required params are: #{%w[ body in_reply_to].join(',')}" elsif !assert_required_keys(VALID_REQUEST_COM_PARAM_NAMES - %w[ in_reply_to ], params) raise ArgumentError, "Required params are: #{VALID_REQUEST_COM_PARAM_NAMES.join(', ')}" end end
def create(user_name, repo_name, request_id, params={})
"in_reply_to" => 4
"body" => "Nice change",
github.pull_requests.comments.create 'user-name','repo-name','request-id',
github = Github.new
= Examples
* :in_reply_to - Required number - comment id to reply to.
* :body - Required string
an existing Pull Request Comment like this
Instead of passing commit_id, path, and position you can reply to
= Alternative Inputs
"position" => 4
"path" => "file1.txt",
"commit_id" => "6dcb09b5b57875f334f61aebed695e2e4193db5e",
"body" => "Nice change",
github.pull_requests.comments.create 'user-name','repo-name','request-id',
github = Github.new
= Examples
* :position - Required number - Line index in the diff to comment on
* :path - Required string - Relative path of the file to comment on.
* :commit_id - Required string - sha of the commit to comment on.
* :body - Required string
= Inputs
Create a pull request comment
def create(user_name, repo_name, request_id, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo, request_id normalize! params # _merge_mime_type(:pull_comment, params) filter! VALID_REQUEST_COM_PARAM_NAMES, params # _validate_reply_to(params) post_request("/repos/#{user}/#{repo}/pulls/#{request_id}/comments", params) end
def delete(user_name, repo_name, comment_id, params={})
github.pull_requests.comments.delete 'user-name', 'repo-name','comment-id'
github = Github.new
= Examples
Delete a pull request comment
def delete(user_name, repo_name, comment_id, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo, comment_id normalize! params # _merge_mime_type(:pull_comment, params) delete_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", params) end
def edit(user_name, repo_name, comment_id, params={})
"body" => "Nice change"
github.pull_requests.comments.edit 'user-name', 'repo-name','comment-id',
github = Github.new
= Examples
* :body - Required string
= Inputs
Edit a pull request comment
def edit(user_name, repo_name, comment_id, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo, comment_id normalize! params # _merge_mime_type(:pull_comment, params) filter! VALID_REQUEST_COM_PARAM_NAMES, params patch_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", params) end
def get(user_name, repo_name, comment_id, params={})
github.pull_requests.comments.get 'user-name', 'repo-name', 'comment-id'
github = Github.new
= Examples
Get a single comment for pull requests
def get(user_name, repo_name, comment_id, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo, comment_id normalize! params # _merge_mime_type(:pull_comment, params) get_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", params) end
def list(user_name, repo_name, request_id, params={})
github.pull_requests.comments.list 'user-name', 'repo-name', 'request-id'
github = Github.new
= Examples
List comments on a pull request
def list(user_name, repo_name, request_id, params={}) set :user => user_name, :repo => repo_name assert_presence_of user, repo, request_id normalize! params # _merge_mime_type(:pull_comment, params) response = get_request("/repos/#{user}/#{repo}/pulls/#{request_id}/comments", params) return response unless block_given? response.each { |el| yield el } end