diff --git a/dev-tools/es_release_notes.pl b/dev-tools/es_release_notes.pl index 36b084ebfa5c..e2984c9920dd 100755 --- a/dev-tools/es_release_notes.pl +++ b/dev-tools/es_release_notes.pl @@ -28,24 +28,23 @@ my $User_Repo = 'elastic/elasticsearch/'; my $Issue_URL = "http://github.com/${User_Repo}issues/"; my @Groups = ( - "breaking", "breaking-java", "deprecation", "feature", - "enhancement", "bug", "regression", "upgrade", "non-issue", "build", - "docs", "test" + ">breaking", ">breaking-java", ">deprecation", ">feature", + ">enhancement", ">bug", ">regression", ">upgrade" ); +my %Ignore = map { $_ => 1 } ( + ">non-issue", ">refactoring", ">docs", ">test", ":Core/Build" +); + my %Group_Labels = ( - breaking => 'Breaking changes', - 'breaking-java' => 'Breaking Java changes', - build => 'Build', - deprecation => 'Deprecations', - docs => 'Docs', - feature => 'New features', - enhancement => 'Enhancements', - bug => 'Bug fixes', - regression => 'Regressions', - test => 'Tests', - upgrade => 'Upgrades', - "non-issue" => 'Non-issue', - other => 'NOT CLASSIFIED', + '>breaking' => 'Breaking changes', + '>breaking-java' => 'Breaking Java changes', + '>deprecation' => 'Deprecations', + '>feature' => 'New features', + '>enhancement' => 'Enhancements', + '>bug' => 'Bug fixes', + '>regression' => 'Regressions', + '>upgrade' => 'Upgrades', + 'other' => 'NOT CLASSIFIED', ); use JSON(); @@ -86,7 +85,9 @@ ASCIIDOC for my $group ( @Groups, 'other' ) { my $group_issues = $issues->{$group} or next; - print "[[$group-$version]]\n" + my $group_id = $group; + $group_id=~s/^>//; + print "[[$group_id-$version]]\n" . "[float]\n" . "=== $Group_Labels{$group}\n\n"; @@ -161,10 +162,14 @@ ISSUE: for my $issue (@issues) { next if $seen{ $issue->{number} } && !$issue->{pull_request}; + for (@{ $issue->{labels} }) { + next ISSUE if $Ignore{$_->{name}}; + } + # uncomment for including/excluding PRs already issued in other versions # next if grep {$_->{name}=~/^v2/} @{$issue->{labels}}; my %labels = map { $_->{name} => 1 } @{ $issue->{labels} }; - my ($header) = map { substr( $_, 1 ) } grep {/^:/} sort keys %labels; + my ($header) = map { /:.+\/(.+)/ && $1 } grep {/^:/} sort keys %labels; $header ||= 'NOT CLASSIFIED'; for (@Groups) { if ( $labels{$_} ) {