Module: GitHub::Client::Milestones

Included in:
GitHub::Client
Defined in:
lib/github_api_v3/client/milestones.rb

Overview

Methods for the Milestones API.

Instance Method Summary collapse

Instance Method Details

#create_milestone(owner, repo, title, options = {}) ⇒ Hash

Create a milestone.

Requires authentication.

Examples:

client = GitHub.client(:login => 'caseyscarborough', :access_token => '7a329f6057f13c496ecf7fd777ceb9e79ae285')
client.create_milestone(
  'caseyscarborough',
  'github',
  'Milestone 1',
  :state  => 'open',
  :description => 'The newest milestone!',
  :due_on => '2013-08-25T16:31:30-04:00'
)

Parameters:

  • owner (String)

    The repository owner.

  • repo (String)

    The repository name.

  • title (String)

    Milestone title.

  • options (Hash) (defaults to: {})

    Parameters.

Options Hash (options):

  • :state (String)

    open (default), closed

  • :description (String)
  • :due_on (String)

    ISO 8601 time.

Returns:

  • (Hash)

    Milestone information.

See Also:



67
68
69
70
# File 'lib/github_api_v3/client/milestones.rb', line 67

def create_milestone(owner, repo, title, options={})
  options.merge!(title: title)
  post "/repos/#{owner}/#{repo}/milestones", body: options
end

#delete_milestone(owner, repo, number) ⇒ Boolean

Delete a milestone.

Requires authentication.

Examples:

client = GitHub.client(:login => 'caseyscarborough', :access_token => '7a329f6057f13c496ecf7fd777ceb9e79ae285')
client.delete_milestone('caseyscarborough', 'github', 3)

Parameters:

  • owner (String)

    The repository owner.

  • repo (String)

    The repository name.

  • number (Integer)

    The milestone number.

Returns:

  • (Boolean)

    True if successful, false if not.

See Also:



115
116
117
# File 'lib/github_api_v3/client/milestones.rb', line 115

def delete_milestone(owner, repo, number)
  boolean_request :delete, "/repos/#{owner}/#{repo}/milestones/#{number}"
end

#milestone(owner, repo, number) ⇒ Hash

Get a single milestone.

Examples:

Without authentication.

GitHub.milestone('caseyscarborough', 'github', 3)

With authentication.

client = GitHub.client(:login => 'caseyscarborough', :access_token => '7a329f6057f13c496ecf7fd777ceb9e79ae285')
client.milestone('caseyscarborough', 'github', 3)

Parameters:

  • owner (String)

    The repository owner.

  • repo (String)

    The repository name.

  • number (Integer)

    The milestone number.

Returns:

  • (Hash)

    Milestone information.

See Also:



40
41
42
# File 'lib/github_api_v3/client/milestones.rb', line 40

def milestone(owner, repo, number)
  get "/repos/#{owner}/#{repo}/milestones/#{number}"
end

#milestones(owner, repo, options = {}) ⇒ Array

List all milestones for a repository.

Examples:

Without authentication.

GitHub.milestones('caseyscarborough', 'github', :state => 'closed', :sort => 'completeness')

With authentication.

client = GitHub.client(:login => 'caseyscarborough', :access_token => '7a329f6057f13c496ecf7fd777ceb9e79ae285')
client.milestones('caseyscarborough', 'github', :state => 'closed', :sort => 'completeness')

Parameters:

  • owner (String)

    The repository owner.

  • repo (String)

    The repository name.

  • options (Hash) (defaults to: {})

    Optional parameters.

Options Hash (options):

  • :state (String)

    open (default), closed

  • :sort (String)

    due_date (default), completeness

  • :direction (String)

    asc (default), desc

Returns:

  • (Array)

    List of milestones.

See Also:



24
25
26
# File 'lib/github_api_v3/client/milestones.rb', line 24

def milestones(owner, repo, options={})
  get "/repos/#{owner}/#{repo}/milestones", params: options
end

#update_milestone(owner, repo, number, options = {}) ⇒ Hash Also known as: edit_milestone

Update a milestone.

Requires authentication.

Examples:

client = GitHub.client(:login => 'caseyscarborough', :access_token => '7a329f6057f13c496ecf7fd777ceb9e79ae285')
client.update_milestone(
  'caseyscarborough',
  'github',
  3,
  :title  => 'Milestone 1',
  :state  => 'closed',
  :description => 'Just a closed milestone.',
  :due_on => '2013-08-25T16:31:30-04:00'
)

Parameters:

  • owner (String)

    The repository owner.

  • repo (String)

    The repository name.

  • number (Integer)

    The milestone number.

  • options (Hash) (defaults to: {})

    Parameters.

Options Hash (options):

  • :title (String)
  • :state (String)

    open (default), closed

  • :description (String)
  • :due_on (String)

    ISO 8601 time.

Returns:

  • (Hash)

    The milestone information.

See Also:



97
98
99
100
# File 'lib/github_api_v3/client/milestones.rb', line 97

def update_milestone(owner, repo, number, options={})
  options.merge!(number: number)
  patch "/repos/#{owner}/#{repo}/milestones/#{number}", body: options
end