Debian::PkgPerl::GitHub(3pm)

Debian::PkgPerl::GitHub3pm

Help forwarding a bug or a patch to github

Usage

    use Debian::PkgPerl::Bug;
    use Debian::PkgPerl::Patch;
    use Debian::PkgPerl::Message;
    use Debian::PkgPerl::GitHub;
    
    my %params = (
        url     => 'https://github.com/foo/bar/issues',
        tracker => 'github',
        dist    => 'Foo-Bar',
        name    => 'My Name',
        email   => '[email protected]',
        mailto  => '[email protected]',
    );
    
    my %bug_info = Debian::PkgPerl::Bug
        ->new( bug => 123 )
        ->retrieve_bug_info();
    my $bug_msg = Debian::PkgPerl::Message->new(
        %params,
        info => \%bug_info,
    );
    print Debian::PkgPerl::GitHub->new(
        message => $bug_msg,
        ticket  => 456,
    )->forward();
    
    my %patch_info = Debian::PkgPerl::Patch
        ->new( patch => 'foo-bar.patch' )
        ->retrieve_patch_info();
    my $patch_msg = Debian::PkgPerl::Message->new(
        %params,
        info => \%patch_info,
    );
    print Debian::PkgPerl::GitHub->new(
        message  => $patch_msg,
        fallback => 0,
    )->forward();

Overview

This module exports several helpers that that provide support for forwarding patches to GitHub as pull requests.

Methods

new(%params)

Parameters:

•

message

Message to be forwarded to an upstream project.

•

ticket

Existing issue number to forward the bug to.

•

fallback

Enables fallback to forwarding a patch as an issue if pull-request fails for any reason. Default is false.

Environment:

•

DPT_GITHUB_OAUTH

GitHub personal API token. No default.

•

DPT_GITHUB_ORGNAME

Organization used to fork upstreams. Defaults to pkg-perl-tools.

•

DPT_GITHUB_BRANCH

Branch name for pull requests. Defaults to "pkg-perl-$^T".

•

DPT_GITHUB_PROTOCOL

Protocol used to clone a repository. Defaults to ssh. Accepted protocols: ssh, https.

fork_exists()

Checks if any member in the GitHub organization has already forked a repository.

Returns:

Boolean value.

create_fork()

Creates a repository fork by an organization.

Returns:

The new forked repository.

clone_branch_patch_push()

Clones a repository in a temporary directory, creates a new branch, applies the patch, commits the change, pushes it and removes the temporary working copy.

Returns:

Nothing.

create_pull_request()

Returns:

Pull request URL on success, nothing otherwise.

forward_patch_as_pull_request()

forward_patch_as_ticket()

Fallback to forwarding a patch as a bug.

Returns:

Issue URL on success, nothing otherwise.

forward_bug_as_issue()

forward()

Forward an issue as a pull request or bug.

test()

Support for off-line testing.

Releases

5 releases since Debian 9 (Stretch); the text changed 4 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13

From pkg-perl-tools 0.82 in Debian 13 (Trixie). Parsed by carta from the page's man source.