---
name: "Pithub::GitData::Tags"
section: "3pm"
platform: "linux"
package: "libpithub-perl"
version: "0.01043-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Pithub::GitData::Tags"
---

# Pithub::GitData::Tags(3pm)

Github v3 Git Data Tags API

## 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.
