NAME
Pithub::GitData::Tags - Github v3 Git Data Tags API
VERSION
version 0.01020
DESCRIPTION
This tags api only deals with tag objects - so only annotated tags, not lightweight tags.
METHODS
create
Create a Tag
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.POST /repos/:user/:repo/git/tags
Parameters:
user: mandatory string
repo: mandatory string
data: mandatory hashref, having following keys:
tag: mandatory string of the tag
message: mandatory string of the tag message
object: mandatory stringof the SHA of the git object this is tagging
type: mandatory string of the type of the object we're tagging. Normally this is a
commit
but it can also be atree
or ablob
.tagger: mandatory hashref, having following keys:
name: string of the name of the author of the tag
email: string of the email of the author of the tag
date: timestamp of when this commit was tagged
Examples:
my $t = Pithub::GitData::Tags->new; my $result = $t->create( user => 'plu', repo => 'Pithub', data => { tagger => { date => '2011-06-17T14:53:35-07:00', email => 'schacon@gmail.com', name => 'Scott Chacon', }, message => 'initial version', object => 'c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c', tag => 'v0.0.1', type => 'commit', } );
Response: Status: 201 Created
{ "tag": "v0.0.1", "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac", "url": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", "message": "initial version\n", "tagger": { "name": "Scott Chacon", "email": "schacon@gmail.com", "date": "2011-06-17T14:53:35-07:00" }, "object": { "type": "commit", "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c" } }
get
Get a Tag
GET /repos/:user/:repo/git/tags/:sha
Parameters:
user: mandatory string
repo: mandatory string
sha: mandatory string
Examples:
my $t = Pithub::GitData::Tags->new; my $result = $t->get( user => 'plu', repo => 'Pithub', sha => 'df21b2660fb6', );
Response: Status: 200 OK
{ "tag": "v0.0.1", "sha": "940bd336248efae0f9ee5bc7b2d5c985887b16ac", "url": "https://api.github.com/repos/octocat/Hello-World/git/tags/940bd336248efae0f9ee5bc7b2d5c985887b16ac", "message": "initial version\n", "tagger": { "name": "Scott Chacon", "email": "schacon@gmail.com", "date": "2011-06-17T14:53:35-07:00" }, "object": { "type": "commit", "sha": "c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c", "url": "https://api.github.com/repos/octocat/Hello-World/git/commits/c3d0be41ecbe669545ee3e94d31ed9a4bc91ee3c" } }
AUTHOR
Johannes Plunien <plu@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Johannes Plunien.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.