The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

Pithub::GitData::References - Github v3 Git Data References API

VERSION

version 0.01041

METHODS

create

  • Create a Reference

    POST /repos/:user/:repo/git/refs

    Parameters:

    • user: mandatory string

    • repo: mandatory string

    • data: mandatory hashref, having following keys:

      • ref: mandatory string of the name of the fully qualified reference (ie: refs/heads/master). If it doesn't start with 'refs' and have at least two slashes, it will be rejected.

      • sha: mandatory string of the SHA1 value to set this reference to.

    Examples:

    my $r = Pithub::GitData::References->new;
    my $result = $r->create(
    user => 'plu',
    repo => 'Pithub',
    data => {
    ref => 'refs/heads/master',
    sha => '827efc6d56897b048c772eb4087f854f46256132' .
    }
    );

get

list

update

  • Update a Reference

    PATCH /repos/:user/:repo/git/refs/:ref

    Parameters:

    • user: mandatory string

    • repo: mandatory string

    • ref: mandatory string

    • data: mandatory hashref, having following keys:

      • sha: mandatory string of the SHA1 value to set this reference to.

      • force: optional boolean indicating whether to force the update or to make sure the update is a fast-forward update. The default is false so leaving this out or setting it to false will make sure you're not overwriting work.

    Examples:

    my $r = Pithub::GitData::References->new;
    my $result = $r->update(
    user => 'plu',
    repo => 'Pithub',
    ref => 'tags/v1.0',
    data => {
    force => 1,
    sha => 'aa218f56b14c9653891f9e74264a383fa43fefbd',
    }
    );

    Response: Status: 200 OK

    [
    {
    "ref": "refs/heads/sc/featureA",
    "object": {
    "type": "commit",
    "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd",
    }
    }
    ]

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.