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

# Pithub::Repos::Releases(3pm)

Github v3 Repo Releases API

## NAME

Pithub::Repos::Releases - Github v3 Repo Releases API

## VERSION

version 0.01043

## METHODS

### assets

Provides access to Pithub::Repos::Releases::Assets.

### list

- •

  List releases for a repository.

  ```
      GET /repos/:owner/:repo/releases
  ```

  Examples:

  ```
      my $r = Pithub::Repos::Releases->new;
      my $result = $r->get(
          repo => 'Pithub',
          user => 'plu',
      );
  ```

### get

- •

  Get a single release.

  ```
      GET /repos/:owner/:repo/releases/:id
  ```

  Examples:

  ```
      my $r = Pithub::Repos::Releases->new;
      my $result = $r->get(
          repo       => 'Pithub',
          user       => 'plu',
          release_id => 1,
      );
  ```

### create

- •

  Create a release.

  ```
      POST /repos/:user/:repo/releases
  ```

  Examples:

  ```
      my $r = Pithub::Repos::Releases->new;
      my $result = $r->create(
          user => 'plu',
          repo => 'Pithub',
          data => {
              tag_name         => 'v1.0.0',
              target_commitish => 'master',
              name             => 'v1.0.0',
              body             => 'Description of the release',
              draft            => JSON::MaybeXS::false(),           # or alternative below
              prerelease       => JSON::MaybeXS::false(),           # or alternative below
              generate_release_notes => JSON::MaybeXS::false(),     # or alternative below
          }
      );
  ```

  Booleans:

  Several of the attributes **require** boolean values in the request that is sent to GitHub.  Zero (0) and one (1) are integers and will not be encoded correctly in the JSON encoded request.

  There are numerous options for your call to Pithub::Repos::Releases-\>create.

  - JSON::MaybeXS

    Add the following to your code before the call to Pithub::Repos::Releases-\>create.

    ```
        require JSON::MaybeXS;
    ```

    Then use the following values for the booleans:

    ```
        JSON::MaybeXS::true()
        JSON::MaybeXS::false()
    ```

  - Cpanel::JSON::XS

    Add the following to your code before the call to Pithub::Repos::Releases-\>create.

    ```
        require Cpanel::JSON::XS;
    ```

    Then use the following values for the booleans:

    ```
        Cpanel::JSON::XS::true
        Cpanel::JSON::XS::false
    ```

  - JSON::PP

    Add the following to your code before the call to Pithub::Repos::Releases-\>create.

    ```
        require JSON::PP;
    ```

    Then use the following values for the booleans:

    ```
        $JSON::PP::true
        $JSON::PP::false
    ```

### update

- •

  Edit a release.

  ```
      PATCH /repos/:user/:repo/releases/:id
  ```

  Examples:

  ```
      my $r = Pithub::Repos::Releases->new;
      my $result = $r->update(
          user       => 'plu',
          repo       => 'Pithub',
          release_id => 1,
          data       => {
              tag_name         => 'v1.0.0',
              target_commitish => 'master',
              name             => 'v1.0.0',
              body             => 'Description of the release',
              draft            => 0,
              prerelease       => 0,
          }
      );
  ```

### delete

- •

  Delete a release.

  ```
      DELETE /repos/:user/:repo/releases:id
  ```

  Examples:

  ```
      my $r = Pithub::Repos::Releases->new;
      my $result = $r->delete(
          user       => 'plu',
          repo       => 'Pithub',
          release_id => 1,
      );
  ```

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