Parent

Class/Module Index [+]

Quicksearch

Github::Issues

Public Instance Methods

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

Access to Issues::Assignees API

# File lib/github_api/issues.rb, line 40
def assignees(options={}, &block)
  @assignees ||= ApiFactory.new('Issues::Assignees', current_options.merge(options), &block)
end
comments(options={}, &block) click to toggle source

Access to Issues::Comments API

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

Create an issue

Inputs

<tt>:title</tt> - Required string
<tt>:body</tt> - Optional string
<tt>:assignee</tt> - Optional string - Login for the user that this issue should be assigned to.
                     Only users with push access can set the assignee for new issues.
                     The assignee is silently dropped otherwise.
<tt>:milestone</tt> - Optional number - Milestone to associate this issue with.
                      Only users with push access can set the milestone for new issues.
                      The milestone is silently dropped otherwise.
<tt>:labels</tt> - Optional array of strings - Labels to associate with this issue
                   Only users with push access can set labels for new issues.
                   Labels are silently dropped otherwise.

Examples

github = Github.new :user => 'user-name', :repo => 'repo-name'
github.issues.create
  "title" => "Found a bug",
  "body" => "I'm having a problem with this.",
  "assignee" => "octocat",
  "milestone" => 1,
  "labels" => [
    "Label1",
    "Label2"
  ]
# File lib/github_api/issues.rb, line 197
def create(*args)
  arguments(args, :required => [:user, :repo]) do
    sift VALID_ISSUE_PARAM_NAMES
    assert_required ] title ]
  end

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

Edit an issue

Inputs

<tt>:title</tt> - Optional string
<tt>:body</tt> - Optional string
<tt>:assignee</tt> - Optional string - Login for the user that this issue should be assigned to.
<tt>:state</tt> - Optional string - State of the issue:<tt>open</tt> or <tt>closed</tt>
<tt>:milestone</tt> - Optional number - Milestone to associate this issue with
<tt>:labels</tt> - Optional array of strings - Labels to associate with this issue. Pass one or more Labels to replace the set of Labels on this Issue. Send an empty array ([]) to clear all Labels from the Issue.

Examples

github = Github.new
github.issues.edit 'user-name', 'repo-name', 'number'
  "title" => "Found a bug",
  "body" => "I'm having a problem with this.",
  "assignee" => "octocat",
  "milestone" => 1,
  "labels" => [
    "Label1",
    "Label2"
  ]
# File lib/github_api/issues.rb, line 228
def edit(*args)
  arguments(args, :required => [:user, :repo, :number]) do
    sift VALID_ISSUE_PARAM_NAMES
  end
  params = arguments.params

  patch_request("/repos/#{user}/#{repo}/issues/#{number}", params)
end
events(options={}, &block) click to toggle source

Access to Issues::Events API

# File lib/github_api/issues.rb, line 50
def events(options={}, &block)
  @events ||= ApiFactory.new('Issues::Events', current_options.merge(options), &block)
end
find(*args) click to toggle source
Alias for: get
get(*args) click to toggle source

Get a single issue

Examples

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

  get_request("/repos/#{user}/#{repo}/issues/#{number}", arguments.params)
end
Also aliased as: find
labels(options={}, &block) click to toggle source

Access to Issues::Comments API

# File lib/github_api/issues.rb, line 55
def labels(options={}, &block)
  @labels ||= ApiFactory.new('Issues::Labels', current_options.merge(options), &block)
end
list(*args) click to toggle source

List your issues

List all issues across all the authenticated user’s visible repositories including owned repositories, member repositories, and organization repositories.

Example

github = Github.new :oauth_token => '...'
github.issues.list

List all issues across owned and member repositories for the authenticated user.

Example

github = Github.new :oauth_token => '...'
github.issues.list :user

List all issues for a given organization for the authenticated user.

Example

github = Github.new :oauth_token => '...'
github.issues.list :org => 'org-name'

List issues for a repository

Example

github = Github.new
github.issues.list :user => 'user-name', :repo => 'repo-name'

Parameters

:filter

* <tt>assigned</tt>   Issues assigned to you (default)
* <tt>created</tt>    Issues created by you 
* <tt>mentioned</tt>  Issues mentioning you 
* <tt>subscribed</tt> Issues you've subscribed to updates for 
* <tt>all</tt>        All issues the user can see

:milestone

* Integer Milestone number
* <tt>none</tt> for Issues with no Milestone.
* <tt>*</tt>    for Issues with any Milestone

:state - open, closed, default: open :labels - String list of comma separated Label names.

Example: bug,ui,@high

:assignee

* String User login
* <tt>none</tt> for Issues with no assigned User.
* <tt>*</tt>    for Issues with any assigned User.

:creator String User login :mentioned String User login :sort - created, updated, comments,

default: <tt>created</tt>

:direction - asc, desc, default: desc :since - Optional string of a timestamp in ISO 8601

format: YYYY-MM-DDTHH:MM:SSZ

Examples

github = Github.new :oauth_token => '...'
github.issues.list :since => '2011-04-12T12:12:12Z',
  :filter => 'created',
  :state  => 'open',
  :labels => "bug,ui,bla",
  :sort   => 'comments',
  :direction => 'asc'
# File lib/github_api/issues.rb, line 128
def list(*args)
  params = arguments(args) do
    assert_values VALID_ISSUE_PARAM_VALUES
  end.params

  response = if (org = params.delete('org'))
    get_request("/orgs/#{org}/issues", params)

  elsif (user_name = params.delete('user')) &&
        (repo_name = params.delete('repo'))

    list_repo user_name, repo_name
  elsif args.include? :user
    get_request("/user/issues", params)
  else
    get_request("/issues", params)
  end
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all
milestones(options={}, &block) click to toggle source

Access to Issues::Comments API

# File lib/github_api/issues.rb, line 60
def milestones(options={}, &block)
  @milestones ||= ApiFactory.new('Issues::Milestones', current_options.merge(options), &block)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.