---
name: "Net::GitHub::V3::GitData"
section: "3pm"
platform: "linux"
package: "libnet-github-perl"
version: "1.05-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::GitHub::V3::GitData"
---

# Net::GitHub::V3::GitData(3pm)

GitHub Git DB API

## NAME

Net::GitHub::V3::GitData - GitHub Git DB API

## SYNOPSIS

```
    use Net::GitHub::V3;
    my $gh = Net::GitHub::V3->new; # read L<Net::GitHub::V3> to set right authentication info
    my $git_data = $gh->git_data;
```

## DESCRIPTION

**To ease the keyboard, we provied two ways to call any method which starts with :user/:repo**

1\. SET user/repos before call methods below

```
    $gh->set_default_user_repo('fayland', 'perl-net-github'); # take effects for all $gh->
    $git_data->set_default_user_repo('fayland', 'perl-net-github'); # only take effect to $gh->pull_request
    my $blob = $git_data->blob($sha);
```

2\. If it is just for once, we can pass :user, :repo before any arguments

```
    my $blob = $git_data->blob($user, $repo, $sha);
```

### METHODS

*Git Data*

\<http://developer.github.com/v3/git/\>

*Blob*

- blob

  ```
      my $blob = $git_data->blob('5a1faac3ad54da26be60970ddbbdfbf6b08fdc57');
  ```

- create\_blob

  ```
      my $result = $git_data->create_blob( {
          content => $content,
          encoding => 'utf-8',
      } );
  ```

*Commits*

\<http://developer.github.com/v3/git/commits/\>

- commit

  ```
      my $commit = $git_data->commit('5a1faac3ad54da26be60970ddbbdfbf6b08fdc57');
  ```

- create\_commit

  *Refs*

\<http://developer.github.com/v3/git/refs/\>

- refs

  - ref

  - create\_ref

  - update\_ref

  - delete\_ref

  ```
      my @refs = $git_data->refs;
      my $ref  = $git_data->ref($ref_id);
      my $ref  = $git_data->create_ref($ref_data);
      my $ref  = $git_data->update_ref($ref_id, $ref_data);
      $git_data->delete_ref($ref_id);
  ```

*Tags*

\<http://developer.github.com/v3/git/tags/\>

- tag

  - create\_tag

  ```
      my $tag = $git_data->tag($sha);
      my $tag = $git_data->create_tag($tag_data);
  ```

\<http://developer.github.com/v3/git/trees/\>

- tree

  - trees

  - create\_tree

  ```
      my $tree = $git_data->tree($sha);
      my $trees = $git_data->trees($sha);
      my $tree = $git_data->create_tree($tree_data);
  ```

## AUTHOR & COPYRIGHT & LICENSE

Refer Net::GitHub
