class Github::Issues::Milestones

def create(user_name, repo_name, params={})


:due_on => "Time"
:description => "String",
:state => "open or closed",
github.issues.milestones.create :title => 'hello-world',
github = Github.new :user => 'user-name', :repo => 'repo-name'
= Examples

:due_on - Optional string - ISO 8601 time
:description - Optional string
:state - Optional string - open or closed
:title - Required string
= Inputs

Create a milestone
def create(user_name, repo_name, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _normalize_params_keys(params)
  _filter_params_keys(VALID_MILESTONE_INPUTS, params)
  _validate_inputs(%w[ title ], params)
  post_request("/repos/#{user}/#{repo}/milestones", params)
end

def delete(user_name, repo_name, milestone_id, params={})


github.issues.milestones.delete 'user-name', 'repo-name', 'milestone-id'
github = Github.new
= Examples

Delete a milestone
def delete(user_name, repo_name, milestone_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of milestone_id
  _normalize_params_keys(params)
  delete_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params)
end

def get(user_name, repo_name, milestone_id, params={})


github.issues.milestones.get 'user-name', 'repo-name', 'milestone-id'
github = Github.new
= Examples

Get a single milestone
def get(user_name, repo_name, milestone_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of milestone_id
  _normalize_params_keys(params)
  get_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params)
end

def initialize(options = {})

Creates new Issues::Milestones API
def initialize(options = {})
  super(options)
end

def list(user_name, repo_name, params={})


:direction => 'asc'
:sort => 'due_date',
github.issues.milestones.list :state => 'open',

or

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

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

List milestones for a repository
def list(user_name, repo_name, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _normalize_params_keys(params)
  _filter_params_keys(VALID_MILESTONE_OPTIONS.keys, params)
  _validate_params_values(VALID_MILESTONE_OPTIONS, params)
  response = get_request("/repos/#{user}/#{repo}/milestones", params)
  return response unless block_given?
  response.each { |el| yield el }
end

def update(user_name, repo_name, milestone_id, params={})


:due_on => "Time"
:description => "String",
:state => "open or closed",
:title => 'hello-world',
github.issues.milestones.update 'user-name', 'repo-name', 'milestone-id',
github = Github.new
= Examples

:due_on - Optional string - ISO 8601 time
:description - Optional string
:state - Optional string - open or closed
:title - Required string
= Inputs

Update a milestone
def update(user_name, repo_name, milestone_id, params={})
  _update_user_repo_params(user_name, repo_name)
  _validate_user_repo_params(user, repo) unless user? && repo?
  _validate_presence_of milestone_id
  _normalize_params_keys(params)
  _filter_params_keys(VALID_MILESTONE_INPUTS, params)
  _validate_inputs(%w[ title ], params)
  patch_request("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params)
end