Scroll to navigation

Pithub::GitData::Tags(3pm) User Contributed Perl Documentation Pithub::GitData::Tags(3pm)
 

NAME

Pithub::GitData::Tags - Github v3 Git Data Tags API

VERSION

version 0.01025

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 a "tree" or a "blob".
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.
2014-05-18 perl v5.18.2