This tags api only deals with tag objects - so only annotated tags, not lightweight tags.
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/[tag]
reference. If you want to create a
lightweight tag, you simply have to create the reference - this call would
be unnecessary.
:tag
- String of the tag
:message
- String of the tag message
:object
- String of the SHA of the git object this is tagging
:type
- String of the type of the object we're tagging.
Normally this is a commit
but it can also be a
tree
or a blob
String of the name of the author of the tag
String of the email of the author of the tag
Timestamp of when this object was tagged
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" }
# File lib/github_api/git_data/tags.rb, line 66 def create(*args) arguments(args, :required => [:user, :repo]) do sift VALID_TAG_PARAM_NAMES assert_values VALID_TAG_PARAM_VALUES end params = arguments.params post_request("/repos/#{user}/#{repo}/git/tags", params) end
Get a tag
github = Github.new github.git_data.tags.get 'user-name', 'repo-name', 'sha'
# File lib/github_api/git_data/tags.rb, line 30 def get(*args) arguments(args, :required => [:user, :repo, :sha]) params = arguments.params get_request("/repos/#{user}/#{repo}/git/tags/#{sha}", params) end