Provided by: pkg-perl-tools_0.74_all
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 => 'my.name@example.com', mailto => 'your.name@example.com', ); 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.