class Github::Client::PullRequests::Comments

Public Instance Methods

all(*args)
Alias for: list
create(*args) click to toggle source

Create a pull request comment

@param [Hash] params @option params [String] :body

Required string. The text of the comment.

@option params [String] :commit_id

Required string - The SHA of the commit to comment on.

@option params [String] :path

Required string. The relative path of the file to comment on.

@option params [Number] :position

Required number. The line index in the diff to comment on.

@example

github = Github.new
github.pull_requests.comments.create 'user-name', 'repo-name', 'number',
  body: "Nice change",
  commit_id: "6dcb09b5b57875f334f61aebed695e2e4193db5e",
  path: "file1.txt",
  position: 4

Alternative Inputs

Instead of passing commit_id, path, and position you can reply to an existing Pull Request Comment like this @option params [String] :body

Required string. The text of the comment.

@option params [Number] :in_reply_to

Required number. The comment id to reply to.

@example

github = Github.new
github.pull_requests.comments.create 'user-name','repo-name', 'number',
  body: "Nice change",
  in_reply_to: 4

@api public

# File lib/github_api/client/pull_requests/comments.rb, line 100
def create(*args)
  arguments(args, required: [:user, :repo, :number])

  post_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/#{arguments.number}/comments", arguments.params)
end
delete(*args) click to toggle source

Delete a pull request comment

@example

github = Github.new
github.pull_requests.comments.delete 'user-name', 'repo-name', 'number'

@api public

# File lib/github_api/client/pull_requests/comments.rb, line 131
def delete(*args)
  arguments(args, required: [:user, :repo, :number])

  delete_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
end
edit(*args) click to toggle source

Edit a pull request comment

@param [Hash] params @option params [String] :body

Required string. The text of the comment.

@example

github = Github.new
github.pull_requests.comments.edit 'user-name', 'repo-name', 'number',
  body: "Nice change"

@api public

# File lib/github_api/client/pull_requests/comments.rb, line 118
def edit(*args)
  arguments(args, required: [:user, :repo, :number])

  patch_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
end
find(*args)
Alias for: get
get(*args) click to toggle source

Get a single comment for pull requests

@example

github = Github.new
github.pull_requests.comments.get 'user-name', 'repo-name', 'number'

@example

github.pull_requests.comments.get
  user: 'user-name',
  repo: 'repo-name',
  number: 'comment-number

@api public

# File lib/github_api/client/pull_requests/comments.rb, line 57
def get(*args)
  arguments(args, required: [:user, :repo, :number])

  get_request("/repos/#{arguments.user}/#{arguments.repo}/pulls/comments/#{arguments.number}", arguments.params)
end
Also aliased as: find
list(*args) { |el| ... } click to toggle source

List comments on a pull request

@example

github = Github.new
github.pull_requests.comments.list 'user-name', 'repo-name', number: 'id'

List comments in a repository

By default, Review Comments are ordered by ascending ID.

@param [Hash] params @input params [String] :sort

Optional string. Can be either created or updated. Default: created

@input params [String] :direction

Optional string. Can be either asc or desc. Ignored without sort parameter

@input params [String] :since

Optional string of a timestamp in ISO 8601
                      format: YYYY-MM-DDTHH:MM:SSZ

@example

github = Github.new
github.pull_requests.comments.list 'user-name', 'repo-name'
github.pull_requests.comments.list 'user-name', 'repo-name' { |comm| ... }

@api public

# File lib/github_api/client/pull_requests/comments.rb, line 28
def list(*args)
  arguments(args, required: [:user, :repo])
  params = arguments.params
  user = arguments.user
  repo = arguments.repo

  response = if (number = params.delete('number'))
    get_request("/repos/#{user}/#{repo}/pulls/#{number}/comments", params)
  else
    get_request("/repos/#{user}/#{repo}/pulls/comments", params)
  end
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all