2018-04-12 20:06:21 +02:00
|
|
|
#!/usr/bin/perl
|
|
|
|
#
|
|
|
|
# To use it, just insert your OW2 token in ~/.ow2-token
|
2018-05-24 14:49:35 +02:00
|
|
|
#
|
|
|
|
# This script downloads issues from gitlab.ow2.org and insert issues title in
|
|
|
|
# "changelog" file in a new version entry, grouped using tags: Bug,
|
|
|
|
# New feature, Improvement.
|
2018-09-12 09:18:33 +02:00
|
|
|
#
|
|
|
|
# Copyright: Xavier Guimard <x.guimard@free.fr>
|
|
|
|
# See COPYING for license
|
2018-04-12 20:06:21 +02:00
|
|
|
|
|
|
|
use LWP::UserAgent;
|
|
|
|
use JSON;
|
|
|
|
|
2020-09-04 17:59:00 +02:00
|
|
|
my $milestone = '2.0.9';
|
2020-10-29 12:07:52 +01:00
|
|
|
my @cat = ( 'Bug', 'New feature', 'Improvement', 'Template', 'WebServer Conf' );
|
2018-04-12 20:06:21 +02:00
|
|
|
|
2018-05-07 17:47:39 +02:00
|
|
|
open F, "$ENV{HOME}/.ow2-token" or die "Unable to get OW2 token ($!)";
|
2018-05-24 14:49:35 +02:00
|
|
|
my $token = join '', <F>;
|
2018-04-12 20:06:21 +02:00
|
|
|
close F;
|
|
|
|
$token =~ s/\s//sg or die "No token";
|
|
|
|
|
|
|
|
my $ua = LWP::UserAgent->new();
|
|
|
|
|
2018-05-24 14:49:35 +02:00
|
|
|
my $result = '';
|
|
|
|
|
2018-04-12 20:06:21 +02:00
|
|
|
for (@cat) {
|
|
|
|
my $res = $ua->get(
|
2018-05-14 22:52:55 +02:00
|
|
|
"https://gitlab.ow2.org/api/v4/projects/181/issues?labels=$_&milestone=$milestone&state=all&scope=all&per_page=100&private_token=$token"
|
2018-04-12 20:06:21 +02:00
|
|
|
);
|
2020-10-29 12:07:52 +01:00
|
|
|
my $tmp .= " * ${_}s:\n";
|
2018-04-12 20:06:21 +02:00
|
|
|
$res = JSON::from_json( $res->content );
|
2020-10-29 12:07:52 +01:00
|
|
|
my $add = 0;
|
2018-05-24 14:49:35 +02:00
|
|
|
while ( my $i = pop @$res ) {
|
2020-10-29 12:07:52 +01:00
|
|
|
$tmp .= " * #$i->{iid}: $i->{title}\n";
|
|
|
|
$add++;
|
2018-04-12 20:06:21 +02:00
|
|
|
}
|
2020-10-29 12:07:52 +01:00
|
|
|
$tmp .= "\n";
|
|
|
|
$result .= $tmp if $add;
|
2018-04-12 20:06:21 +02:00
|
|
|
}
|
2018-05-24 14:49:35 +02:00
|
|
|
|
2020-05-04 15:59:20 +02:00
|
|
|
`dch -b -c changelog -v $milestone '##CONTENT##';dch -c changelog -r --force-save-on-release '';cp changelog tmp.dch`;
|
2020-10-29 12:07:52 +01:00
|
|
|
open IN, 'tmp.dch';
|
2018-05-24 14:49:35 +02:00
|
|
|
open OUT, '>changelog';
|
|
|
|
|
|
|
|
$result =~ s/\n\n$//s;
|
2020-10-29 12:07:52 +01:00
|
|
|
while (<IN>) {
|
2018-05-24 14:49:35 +02:00
|
|
|
chomp;
|
|
|
|
s/.*##CONTENT##$/$result/;
|
|
|
|
print OUT "$_\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
unlink 'tmp.dch';
|
2018-09-11 15:27:08 +02:00
|
|
|
|
|
|
|
print STDERR "./changelog updated\n";
|