NAME
Debian::PkgPerl::GitHub - Help forwarding a bug or a patch to GitHub
SYNOPSIS
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();
DESCRIPTION
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.
LICENSE AND COPYRIGHT
- Copyright 2016 Alex Muntada.
- Copyright 2018 Damyan Ivanov.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.