class Github::Client::GitData::Tags

Constants

VALID_TAG_PARAM_NAMES

This tags api only deals with tag objects - so only annotated tags, not lightweight tags.

VALID_TAG_PARAM_VALUES

Public Instance Methods

create(*args) click to toggle source

Create a tag object

Note that creating a tag object does not create the reference that makes a tag in Git. If you want to create an annotated tag in Git, you have to do this call to create the tag object, and then create the refs/tags/ reference. If you want to create a lightweight tag, you simply have to create the reference - this call would be unnecessary.

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

The tag

@input params [String] :message

The tag message

@input params [String] :object

The SHA of the git object this is tagging

@input params [String] :type

The type of the object we're tagging.
Normally this is a commit but it can also be a tree or a blob

@input params [Hash] :tagger

A hash with information about the individual creating the tag.

The tagger hash contains the following keys: @input tagger [String] :name

The name of the author of the tag

@input tagger [String] :email

The email of the author of the tag

@input tagger [String] :date

When this object was tagged. This is a timestamp in ISO 8601
format: YYYY-MM-DDTHH:MM:SSZ.

@xample

github = Github.new
github.git_data.tags.create 'user-name', 'repo-name',
   tag: "v0.0.1",
   message: "initial version\n",
   type: "commit",
   object: "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c",
   tagger: {
     name: "Scott Chacon",
     email: "schacon@gmail.com",
     date: "2011-06-17T14:53:3"
   }

@api public

# File lib/github_api/client/git_data/tags.rb, line 84
def create(*args)
  arguments(args, required: [:user, :repo]) do
    permit VALID_TAG_PARAM_NAMES
    assert_values VALID_TAG_PARAM_VALUES
  end

  post_request("/repos/#{arguments.user}/#{arguments.repo}/git/tags", arguments.params)
end
find(*args)
Alias for: get
get(*args) click to toggle source

Get a tag

@example

github = Github.new
github.git_data.tags.get 'user-name', 'repo-name', 'sha'

@api public

# File lib/github_api/client/git_data/tags.rb, line 31
def get(*args)
  arguments(args, required: [:user, :repo, :sha])
  params = arguments.params

  get_request("/repos/#{arguments.user}/#{arguments.repo}/git/tags/#{arguments.sha}", params)
end
Also aliased as: find