Create a pull request comment
:body
- Required string
:commit_id
- Required string - sha of the commit to comment
on.
:path
- Required string - Relative path of the file to comment
on.
:position
- Required number - Line index in the diff to
comment on
github = Github.new github.pull_requests.comments.create 'user-name','repo-name','request-id', "body" => "Nice change", "commit_id" => "6dcb09b5b57875f334f61aebed695e2e4193db5e", "path" => "file1.txt", "position" => 4
Instead of passing commit_id, path, and position you can reply to an existing Pull Request Comment like this
:body
- Required string
:in_reply_to
- Required number - comment id to reply to.
github = Github.new github.pull_requests.comments.create 'user-name','repo-name','request-id', "body" => "Nice change", "in_reply_to" => 4
# File lib/github_api/pull_requests/comments.rb, line 91 def create(*args) arguments(args, :required => [:user, :repo, :request_id]) do sift VALID_REQUEST_COM_PARAM_NAMES end # _validate_reply_to(params) post_request("/repos/#{user}/#{repo}/pulls/#{request_id}/comments", arguments.params) end
Delete a pull request comment
github = Github.new github.pull_requests.comments.delete 'user-name', 'repo-name','comment-id'
# File lib/github_api/pull_requests/comments.rb, line 124 def delete(*args) arguments(args, :required => [:user, :repo, :comment_id]) delete_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", arguments.params) end
Edit a pull request comment
:body
- Required string
github = Github.new github.pull_requests.comments.edit 'user-name', 'repo-name','comment-id', "body" => "Nice change"
# File lib/github_api/pull_requests/comments.rb, line 110 def edit(*args) arguments(args, :required => [:user, :repo, :comment_id]) do sift VALID_REQUEST_COM_PARAM_NAMES end patch_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", arguments.params) end
Get a single comment for pull requests
github = Github.new github.pull_requests.comments.get 'user-name', 'repo-name', 'comment-id'
# File lib/github_api/pull_requests/comments.rb, line 56 def get(*args) arguments(args, :required => [:user, :repo, :comment_id]) get_request("/repos/#{user}/#{repo}/pulls/comments/#{comment_id}", arguments.params) end
List comments on a pull request
github = Github.new github.pull_requests.comments.list 'user-name', 'repo-name', request_id: 'id'
List comments in a repository
By default, Review Comments are ordered by ascending ID.
:sort
- Optional string, created
or
updated
:direction
- Optional string, asc
or
desc
.
Ignored with sort parameter.
:since
- Optional string of a timestamp in ISO 8601
format: YYYY-MM-DDTHH:MM:SSZ
github = Github.new github.pull_requests.comments.list 'user-name', 'repo-name' github.pull_requests.comments.list 'user-name', 'repo-name' { |comm| ... }
# File lib/github_api/pull_requests/comments.rb, line 37 def list(*args) arguments(args, :required => [:user, :repo]) params = arguments.params response = if (request_id = params.delete('request_id')) get_request("/repos/#{user}/#{repo}/pulls/#{request_id}/comments", params) else get_request("/repos/#{user}/#{repo}/pulls/comments", params) end return response unless block_given? response.each { |el| yield el } end
To let user know that the params supplied are wrong before request is made
# File lib/github_api/pull_requests/comments.rb, line 133 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