Parent

Class/Module Index [+]

Quicksearch

Github::PullRequests

Public Instance Methods

all(*args) click to toggle source
Alias for: list
comments(options={}, &block) click to toggle source

Access to PullRequests::Comments API

# File lib/github_api/pull_requests.rb, line 26
def comments(options={}, &block)
  @comments ||= ApiFactory.new('PullRequests::Comments', current_options.merge(options), &block)
end
commits(*args) click to toggle source

List commits on a pull request

Examples

github = Github.new
github.pull_requests.commits 'user-name', 'repo-name', 'number'
# File lib/github_api/pull_requests.rb, line 134
def commits(*args)
  arguments(args, :required => [:user, :repo, :number])

  response = get_request("/repos/#{user}/#{repo}/pulls/#{number}/commits",
    arguments.params)
  return response unless block_given?
  response.each { |el| yield el }
end
create(*args) click to toggle source

Create a pull request

Inputs

  • :title - Required string

  • :body - Optional string

  • :base - Required string - The branch you want your changes pulled into.

  • :head - Required string - The branch where your changes are implemented.

note: head and base can be either a sha or a branch name. Typically you would namespace head with a user like this: username:branch.

Alternative Input

You can also create a Pull Request from an existing Issue by passing an Issue number instead of title and body.

  • issue - Required number - Issue number in this repository to turn into a Pull Request.

Examples

github = Github.new :oauth_token => '...'
github.pull_requests.create 'user-name', 'repo-name',
  "title" => "Amazing new feature",
  "body" => "Please pull this in!",
  "head" => "octocat:new-feature",
  "base" => "master"

alternatively

github.pull_requests.create 'user-name', 'repo-name',
  "issue" => "5",
  "head" => "octocat:new-feature",
  "base" => "master"
# File lib/github_api/pull_requests.rb, line 97
def create(*args)
  arguments(args, :required => [:user, :repo]) do
    sift VALID_REQUEST_PARAM_NAMES
  end

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

List pull requests files

Examples

github = Github.new
github.pull_requests.files 'user-name', 'repo-name', 'number'
# File lib/github_api/pull_requests.rb, line 149
def files(*args)
  arguments(args, :required => [:user, :repo, :number])

  response = get_request("/repos/#{user}/#{repo}/pulls/#{number}/files",
    arguments.params)
  return response unless block_given?
  response.each { |el| yield el }
end
find(*args) click to toggle source
Alias for: get
get(*args) click to toggle source

Get a single pull request

Examples

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

pulls = Github::PullRequests.new
pulls.get 'user-name', 'repo-name', 'number'
# File lib/github_api/pull_requests.rb, line 61
def get(*args)
  arguments(args, :required => [:user, :repo, :number])

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

List pull requests

Examples

github = Github.new :user => 'user-name', :repo => 'repo-name'
github.pull_requests.list
github.pull_requests.list { |req| ... }

pulls = Github::PullRequests.new
pulls.pull_requests.list 'user-name', 'repo-name'
# File lib/github_api/pull_requests.rb, line 40
def list(*args)
  arguments(args, :required => [:user, :repo]) do
    sift VALID_REQUEST_PARAM_NAMES
    assert_values VALID_REQUEST_PARAM_VALUES
  end

  response = get_request("/repos/#{user}/#{repo}/pulls", arguments.params)
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all
merge(*args) click to toggle source

Merge a pull request(Merge Button)

Inputs

<tt>:commit_message</tt> - Optional string -
                         The message that will be used for the merge commit

Examples

github = Github.new
github.pull_requests.merge 'user-name', 'repo-name', 'number'
# File lib/github_api/pull_requests.rb, line 183
def merge(*args)
  arguments(args, :required => [:user, :repo, :number]) do
    sift VALID_REQUEST_PARAM_NAMES
  end

  put_request("/repos/#{user}/#{repo}/pulls/#{number}/merge", arguments.params)
end
merged?(*args) click to toggle source

Check if pull request has been merged

Examples

github = Github.new
github.pull_requests.merged? 'user-name', 'repo-name', 'number'
# File lib/github_api/pull_requests.rb, line 164
def merged?(*args)
  arguments(args, :required => [:user, :repo, :number])

  get_request("/repos/#{user}/#{repo}/pulls/#{number}/merge", arguments.params)
  true
rescue Github::Error::NotFound
  false
end
update(*args) click to toggle source

Update a pull request

Inputs

  • :title - Optional string

  • :body - Optional string

  • :state - Optional string - State of this Pull Request. Valid values are open and closed.

Examples

github = Github.new :oauth_token => '...'
github.pull_requests.update 'user-name', 'repo-name', 'number'
  "title" => "Amazing new title",
  "body" => "Update body",
  "state" => "open",
# File lib/github_api/pull_requests.rb, line 119
def update(*args)
  arguments(args, :required => [:user, :repo, :number]) do
    sift VALID_REQUEST_PARAM_NAMES
    assert_values VALID_REQUEST_PARAM_VALUES
  end

  patch_request("/repos/#{user}/#{repo}/pulls/#{number}", arguments.params)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.