You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
993 B
41 lines
993 B
#!/usr/bin/perl
|
|
#
|
|
# Script to parse Github JSON API response and convert to changelog
|
|
# Usage: curl 'https://api.github.com/repos/ltb-project/self-service-password/issues?milestone=MILESTONE&state=all&direction=asc&per_page=100&page=1' | perl github-issues-to-changelog.pl
|
|
|
|
use JSON;
|
|
|
|
my $input;
|
|
while(<>) { $input .= "$_\n"; }
|
|
|
|
my $json = decode_json $input;
|
|
|
|
# Debian changelog
|
|
print "# Debian\n";
|
|
foreach my $issue (@$json) {
|
|
print " * gh#" . $issue->{number} .": " . $issue->{title} . "\n";
|
|
}
|
|
print "\n";
|
|
|
|
# RPM changelog
|
|
print "# RPM\n";
|
|
foreach my $issue (@$json) {
|
|
print "- gh#" . $issue->{number} .": " . $issue->{title} . "\n";
|
|
}
|
|
print "\n";
|
|
|
|
# GitHub changelog
|
|
print "# GitHub\n";
|
|
foreach my $issue (@$json) {
|
|
print "* #" . $issue->{number} .": " . $issue->{title} . "\n";
|
|
}
|
|
print "\n";
|
|
|
|
# Release contributors
|
|
print "# Contributors\n";
|
|
foreach my $issue (@$json) {
|
|
print "Author of issue #" . $issue->{number} .": " . $issue->{user}->{login} . "\n";
|
|
}
|
|
|
|
|
|
exit 0;
|