Pithub::GitData::Tags(3)

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

VERSION
version 0.01043

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 string of 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.