This Perl program can automatically create a database of repository issues for backup purposes, since Github currently does not provide that functionality.
First download the source into one directory and then run the follow commands:
$ perl Makefile.PL
$ make
$ make test # (Optional)
$ make insall
This will automatically install any Perl modules you do not have that the program requires, which appear below.
DBI
DBD::SQLite
LWP::UserAgent
JSON
The program also requires SQLite.
The program accepts the following arguments, with the short version shown first followed by the longer version:
-
-u, --user
: Required. This is the user whose owns the repositories you want issues from. -
-r, --repo
: Optional. This names the repository whose issues you want to save. This option may appear multiple times. If you do not provide any--repo
option then the program will download the issues for every repository the user owns.
An example:
$ ./save-github-issues.pl --user ejmr --repo php-mode --repo bbcode-mode
Saving issues for user ejmr
Saving issues for php-mode
Saving issues for bbcode-mode
This creates a file called issues.sqlite
in the current directory.
It is a database with a single table that has the following columns:
-
url
: The URL to the issue on Github. -
title
: The name of the issue. -
type
: A string indicating if the issue is ‘opened’ or ‘closed’, and so on. -
json
: A long string of the raw JSON which Github returns. This is useful so you have a complete backup of all of the information which the Github API provides.
I have not performed any work on this program for a long time, and I
do not expect to do so in the near future. That does not mean the
program is dead or abandoned; I will still accept feature ideas and
fix bugs. But I want to suggest that users also check out the
hub program by Chris Wanstrath. It provides a lot of useful
functionality for interacting with GitHub and is a terrific complement
to save-github-issues.pl
, in my opinion.
- Squeeks
<squeek@cpan.org>
- Mark Canlas
- Stefany Dyulgerova
GNU General Public License Version 3