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

# Pithub::Repos(3pm)

Github v3 Repos API

## NAME

Pithub::Repos - Github v3 Repos API

## VERSION

version 0.01043

## METHODS

### actions

Provides access to Pithub::Repos::Actions.

### branch

Get information about a single branch.

```
    GET /repos/:owner/:repo/branches/:branch
```

Example:

```
    my $result = Pithub->new->branch(
        user => 'plu',
        repo => 'Pithub',
        branch => "master"
    );
```

See also branches to get a list of all branches.

### branches

- •

  List Branches

  ```
      GET /repos/:user/:repo/branches
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->branches( user => 'plu', repo => 'Pithub' );
  ```

  See also branch to get information about a single branch.

### rename\_branch

- •

  Rename a branch

  ```
      POST /repos/:user/:repo/branches/:branch/rename
  ```

  Examples:

  ```
      my $b = Pithub::Repos->new;
      my $result = $b->rename_branch(
          user => 'plu',
          repo => 'Pithub',
          branch  => 'travis',
          data => { new_name => 'travis-ci' }
      );
  ```

### merge\_branch

- •

  Merge a branch

  ```
      POST /repos/:user/:repo/merges
  ```

  Examples:

  ```
      my $b = Pithub::Repos->new;
      my $result = $b->rename_branch(
          user => 'plu',
          repo => 'Pithub',
          data => { base => 'master', head => 'travis', message => 'My commit message' }
      );
  ```

### collaborators

Provides access to Pithub::Repos::Collaborators.

### commits

Provides access to Pithub::Repos::Commits.

### contents

Provides access to Pithub::Repos::Contents.

### contributors

- •

  List contributors

  ```
      GET /repos/:user/:repo/contributors
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->contributors( user => 'plu', repo => 'Pithub' );
  ```

### create

- •

  Create a new repository for the authenticated user.

  ```
      POST /user/repos
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->create( data => { name => 'some-repo' } );
  ```

- •

  Create a new repository in this organization. The authenticated user must be a member of this organization.

  ```
      POST /orgs/:org/repos
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->create(
          org  => 'CPAN-API',
          data => { name => 'some-repo' }
      );
  ```

### delete

Delete a repository.

```
    DELETE /repos/:owner/:repo
```

### downloads

Provides access to Pithub::Repos::Downloads.

### forks

Provides access to Pithub::Repos::Forks.

### get

- •

  Get a repo

  ```
      GET /repos/:user/:repo
  ```

  Examples:

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

### hooks

Provides access to Pithub::Repos::Hooks.

### issues

Provides access to Pithub::Issues for this repo.

### keys

Provides access to Pithub::Repos::Keys.

### languages

- •

  List languages

  ```
      GET /repos/:user/:repo/languages
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->languages( user => 'plu', repo => 'Pithub' );
  ```

### list

- •

  List repositories for the authenticated user.

  ```
      GET /user/repos
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->list;
  ```

- •

  List public repositories for the specified user.

  ```
      GET /users/:user/repos
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->list( user => 'plu' );
  ```

- •

  List repositories for the specified org.

  ```
      GET /orgs/:org/repos
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->list( org => 'CPAN-API' );
  ```

### markdown

Provides access to Pithub::Markdown setting the current repository as the default context. This also sets the mode to default to 'gfm'.

### pull\_requests

Provides access to Pithub::PullRequests.

### releases

Provides access to Pithub::Repos::Releases.

### starring

Provides access to Pithub::Repos::Starring.

### stats

Provide access to Pithub::Repos::Stats.

### statuses

Provide access to Pithub::Repos::Statuses.

### tags

- •

  List Tags

  ```
      GET /repos/:user/:repo/tags
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->tags( user => 'plu', repo => 'Pithub' );
  ```

### teams

- •

  List Teams

  ```
      GET /repos/:user/:repo/teams
  ```

  Examples:

  ```
      my $repos  = Pithub::Repos->new;
      my $result = $repos->teams( user => 'plu', repo => 'Pithub' );
  ```

### update

- •

  Edit

  ```
      PATCH /repos/:user/:repo
  ```

  Examples:

  ```
      # update a repo for the authenticated user
      my $repos  = Pithub::Repos->new;
      my $result = $repos->update(
          repo => 'Pithub',
          data => { description => 'Github API v3' },
      );
  ```

### watching

Provides access to Pithub::Repos::Watching.

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