class Github::Client::Repos::Releases

The Releases API

Public Instance Methods

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

Create a release

Users with push access to the repository can create a release.

@see developer.github.com/v3/repos/releases/#create-a-release

@param [Hash] params @input params [String] :tag_name

Required. The name of the tag.

@input params [String] :target_commitish

Specifies the commitish value that determines where the Git tag
is created from. Can be any branch or commit SHA. Defaults to
the repository's default branch (usually 'master').
Unused if the Git tag already exists.

@input params [String] :name

The name of the release.

@input params [String] :body

Text describing the contents of the tag.

@input params [Boolean] :draft

true to create a draft (unpublished) release,
false to create a published one. Default: false

@input params [Boolean] :prerelease

true to identify the release as a prerelease.
false to identify the release as a full release. Default: false

@example

github = Github.new
github.repos.releases.create 'owner', 'repo',
  tag_name: "v1.0.0",
  target_commitish: "master",
  name: "v1.0.0",
  body: "Description of the release",
  draft: false,
  prerelease: false

@api public

# File lib/github_api/client/repos/releases.rb, line 92
def create(*args)
  arguments(args, required: [:owner, :repo]) do
    assert_required :tag_name
  end

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

Delete a release

Users with push access to the repository can delete a release.

@see developer.github.com/v3/repos/releases/#delete-a-release

@param [String] :owner @param [String] :repo @param [Integer] :id

@example

github = Github.new
github.repos.releases.delete 'owner', 'repo', 'id'

@api public

# File lib/github_api/client/repos/releases.rb, line 162
def delete(*args)
  arguments(args, required: [:owner, :repo, :id]).params

  delete_request("/repos/#{arguments.owner}/#{arguments.repo}/releases/#{arguments.id}", arguments.params)
end
edit(*args) click to toggle source

Edit a release

Users with push access to the repository can edit a release.

@see developer.github.com/v3/repos/releases/#edit-a-release

@param [String] :owner @param [String] :repo @param [Integer] :id @param [Hash] params @input params [String] :tag_name

Required. The name of the tag.

@input params [String] :target_commitish

Specifies the commitish value that determines where the Git tag
is created from. Can be any branch or commit SHA. Defaults to
the repository's default branch (usually 'master').
Unused if the Git tag already exists.

@input params [String] :name

The name of the release.

@input params [String] :body

Text describing the contents of the tag.

@input params [Boolean] :draft

true to create a draft (unpublished) release,
false to create a published one. Default: false

@input params [Boolean] :prerelease

true to identify the release as a prerelease.
false to identify the release as a full release. Default: false

@example

github = Github.new
github.repos.releases.edit 'owner', 'repo', 'id',
  tag_name: "v1.0.0",
  target_commitish: "master",
  name: "v1.0.0",
  body: "Description of the release",
  draft: false,
  prerelease: false

@api public

# File lib/github_api/client/repos/releases.rb, line 140
def edit(*args)
  arguments(args, required: [:owner, :repo, :id])

  patch_request("/repos/#{arguments.owner}/#{arguments.repo}/releases/#{arguments.id}", arguments.params)
end
Also aliased as: update
find(*args)
Alias for: get
get(*args) click to toggle source

Get a single release

@see developer.github.com/v3/repos/releases/#get-a-single-release

@example

github = Github.new
github.repos.releases.get 'owner', 'repo', 'id'

@api public

# File lib/github_api/client/repos/releases.rb, line 49
def get(*args)
  arguments(args, required: [:owner, :repo, :id]).params

  get_request("/repos/#{arguments.owner}/#{arguments.repo}/releases/#{arguments.id}" , arguments.params)
end
Also aliased as: find
latest(*args) click to toggle source

Get the latest release

View the latest published full release for the repository. Draft releases and prereleases are not returned.

@see developer.github.com/v3/repos/releases/#get-the-latest-release

@param [String] :owner @param [String] :repo

@example

github = Github.new
github.repos.releases.latest 'owner', 'repo'

@api public

# File lib/github_api/client/repos/releases.rb, line 183
def latest(*args)
  arguments(args, required: [:owner, :repo]).params

  get_request("repos/#{arguments.owner}/#{arguments.repo}/releases/latest", arguments.params)
end
list(*args) { |el| ... } click to toggle source

List releases for a repository

Users with push access to the repository will receive all releases (i.e., published releases and draft releases). Users with pull access will receive published releases only.

@see developer.github.com/v3/repos/releases/#list-releases-for-a-repository

@example

github = Github.new
github.repos.releases.list 'owner', 'repo'
github.repos.releases.list 'owner', 'repo' { |release| ... }

@api public

# File lib/github_api/client/repos/releases.rb, line 31
def list(*args)
  arguments(args, required: [:owner, :repo])

  response = get_request("/repos/#{arguments.owner}/#{arguments.repo}/releases", arguments.params)
  return response unless block_given?
  response.each { |el| yield el }
end
Also aliased as: all
update(*args)
Alias for: edit