class Github::Issues::Milestones

Public Instance Methods

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

Create a milestone

Inputs

<tt>:title</tt> - Required string
<tt>:state</tt> - Optional string - <tt>open</tt> or <tt>closed</tt>
<tt>:description</tt> - Optional string
<tt>:due_on</tt> - Optional string - ISO 8601 time

Examples

github = Github.new :user => 'user-name', :repo => 'repo-name'
github.issues.milestones.create :title => 'hello-world',
  :state => "open or closed",
  :description => "String",
  :due_on => "Time"
# File lib/github_api/issues/milestones.rb, line 76
def create(*args)
  arguments(args, :required => [:user, :repo]) do
    sift VALID_MILESTONE_INPUTS
    assert_required %w[ title ]
  end

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

Delete a milestone

Examples

github = Github.new
github.issues.milestones.delete 'user-name', 'repo-name', 'milestone-id'
# File lib/github_api/issues/milestones.rb, line 116
def delete(*args)
  arguments(args, :required => [:user, :repo, :milestone_id])
  params = arguments.params

  delete_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params)
end
find(*args)
Alias for: get
get(*args) click to toggle source

Get a single milestone

Examples

github = Github.new
github.issues.milestones.get 'user-name', 'repo-name', 'milestone-id'
# File lib/github_api/issues/milestones.rb, line 53
def get(*args)
  arguments(args, :required => [:user, :repo, :milestone_id])
  params = arguments.params

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

List milestones for a repository

Parameters

:state - open, closed, default: open :sort - due_date, completeness, default: due_date :direction - asc, desc, default: desc

Examples

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

or

github.issues.milestones.list state: 'open', sort: 'due_date',
  direction: 'asc'
# File lib/github_api/issues/milestones.rb, line 34
def list(*args)
  arguments(args, :required => [:user, :repo]) do
    sift VALID_MILESTONE_OPTIONS.keys
    assert_values VALID_MILESTONE_OPTIONS
  end
  params = arguments.params

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

Update a milestone

Inputs

<tt>:title</tt> - Required string
<tt>:state</tt> - Optional string - <tt>open</tt> or <tt>closed</tt>
<tt>:description</tt> - Optional string
<tt>:due_on</tt> - Optional string - ISO 8601 time

Examples

github = Github.new
github.issues.milestones.update 'user-name', 'repo-name', 'milestone-id',
  :title => 'hello-world',
  :state => "open or closed",
  :description => "String",
  :due_on => "Time"
# File lib/github_api/issues/milestones.rb, line 101
def update(*args)
  arguments(args, :required => [:user, :repo, :milestone_id]) do
    sift VALID_MILESTONE_INPUTS
  end
  params = arguments.params

  patch_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params)
end