GitHub::RSS - collect data from Github.com for feeding into RSS
my $gh = GitHub::RSS->new( dbh => { dsn => "dbi:SQLite:dbname=$store", }, ); my $last_updated = $gh->last_check; $gh->fetch_and_store( $github_user => $github_repo, $last_updated ); if( $verbose ) { print "Updated from $last_updated to " . $gh->last_check, "\n"; };
This module provides a cache database for GitHub issues and scripts to periodically update the database from GitHub.
This is mainly used for creating an RSS feed from the database, hence the name.
->new
my $gh = GitHub::RSS->new( dbh => { dsn => 'dbi:SQLite:dbname=db/issues.sqlite', }, );
Constructs a new GitHub::RSS instance
gh - instance of Net::GitHub
token_file - name and path of the JSON-format token file containing the GitHub API token By default, that file is searched for under the name github.credentials in ., $ENV{XDG_DATA_HOME}, $ENV{USERPROFILE} and $ENV{HOME}.
github.credentials
.
$ENV{XDG_DATA_HOME}
$ENV{USERPROFILE}
$ENV{HOME}
token - GitHub API token. If this is missing, it will be attempted to read it from the token_file.
token_file
default_user - name of the GitHub user whose repos will be read
default_repo - name of the GitHub repo whose issues will be read
dbh - premade database handle or alternatively a hashref containing the DBI arguments
dbh => $dbh,
or alternatively
dbh => { user => 'scott', password => 'tiger', dsn => 'dbi:SQLite:dbname=db/issues.sqlite', }
fetch_additional_pages - number of additional pages to fetch from GitHub. This is relevant when catching up a database for a repository with many issues.
->fetch_issue_comments
->fetch_and_store($user, $repo, $since)
my $since = $gh->last_check; $gh->fetch_and_store($user, $repo, $since)
Fetches all issues and comments modified after the $since timestamp. If $since is missing or undef, all issues will be retrieved.
$since
undef
->last_check
my $since = $gh->last_check;
Returns the timestamp of the last stored modification or undef if no issue or comment is stored.
To install GitHub::RSS, copy and paste the appropriate command in to your terminal.
cpanm
cpanm GitHub::RSS
CPAN shell
perl -MCPAN -e shell install GitHub::RSS
For more information on module installation, please visit the detailed CPAN module installation guide.