module Github::Issues::Milestones
def create_milestone(user_name=nil, repo_name=nil, params={})
:due_on => "Time"
:description => "String",
:state => "open or closed",
@github.issues.create_milestone :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_milestone(user_name=nil, repo_name=nil, 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("/repos/#{user}/#{repo}/milestones", params) end
def delete_milestone(user_name, repo_name, milestone_id, params={})
@github.issues.delete_milestone 'user-name', 'repo-name', 'milestone-id'
@github = Github.new
= Examples
Delete a milestone
def delete_milestone(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("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params) end
def milestone(user_name, repo_name, milestone_id, params={})
@github.issues.milestone 'user-name', 'repo-name', 'milestone-id'
@github = Github.new
= Examples
Get a single milestone
def milestone(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("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params) end
def milestones(user_name=nil, repo_name=nil, params={})
:direction => 'asc'
:sort => 'due_date',
@github.issues.milestones :state => 'open',
or
@github.issues.milestones
@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 milestones(user_name=nil, repo_name=nil, 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("/repos/#{user}/#{repo}/milestones", params) return response unless block_given? response.each { |el| yield el } end
def update_milestone(user_name, repo_name, milestone_id, params={})
:due_on => "Time"
:description => "String",
:state => "open or closed",
:title => 'hello-world',
@github.issues.update_milestone '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_milestone(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("/repos/#{user}/#{repo}/milestones/#{milestone_id}", params) end