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

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

Github v3 Repo Hooks API

## NAME

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

## VERSION

version 0.01043

## METHODS

### create

- •

  Create a hook

  ```
      POST /repos/:user/:repo/hooks
  ```

  Examples:

  ```
      my $hooks  = Pithub::Repos::Hooks->new;
      my $result = $hooks->create(
          user => 'plu',
          repo => 'Pithub',
          data => {
              name   => 'irc',
              active => 1,
              config => {
                  server => 'irc.perl.org',
                  port   => 6667,
                  room   => 'pithub',
              },
          },
      );
  ```

### delete

- •

  Delete a hook

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

  Examples:

  ```
      my $hooks  = Pithub::Repos::Hooks->new;
      my $result = $hooks->delete(
          user    => 'plu',
          repo    => 'Pithub',
          hook_id => 5,
      );
  ```

### get

- •

  Get single hook

  ```
      GET /repos/:user/:repo/hooks/:id
  ```

  Examples:

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

### list

- •

  List Hooks

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

  Examples:

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

### test

- •

  Get single hook

  ```
      POST /repos/:user/:repo/hooks/:id/test
  ```

  Examples:

  ```
      my $hooks  = Pithub::Repos::Hooks->new;
      my $result = $hooks->test(
          user    => 'plu',
          repo    => 'Pithub',
          hook_id => 5,
      );
  ```

### update

- •

  Update/edit a hook

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

  Examples:

  ```
      my $hooks  = Pithub::Repos::Hooks->new;
      my $result = $hooks->update(
          user    => 'plu',
          repo    => 'Pithub',
          hook_id => 5,
          data    => {
              name   => 'irc',
              active => 1,
              config => {
                  server => 'irc.freenode.net',
                  port   => 6667,
                  room   => 'pithub',
              },
          },
      );
  ```

## EVENTS

Active hooks can be configured to trigger for one or more events. The default event is push. The available events are:

- •

  commit\_comment - Any time a Commit is commented on.

- •

  download - Any time a Download is added to the Repository.

- •

  fork - Any time a Repository is forked.

- •

  fork\_apply - Any time a patch is applied to the Repository from the Fork Queue.

- •

  gollum - Any time a Wiki page is updated.

- •

  issues - Any time an Issue is opened or closed.

- •

  issue\_comment - Any time an Issue is commented on.

- •

  member - Any time a User is added as a collaborator to a non-Organization Repository.

- •

  public - Any time a Repository changes from private to public.

- •

  pull\_request - Any time a Pull Request is opened, closed, or synchronized (updated due to a new push in the branch that the pull request is tracking).

- •

  push - Any git push to a Repository.

- •

  watch - Any time a User watches the Repository.

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