Browse Source

Fixed es_release_notes.pl script to work with the new github labels

It also now ignores docs, test, non-issue, refactoring, and build
Clinton Gormley 7 years ago
parent
commit
f54cb567b6
1 changed files with 23 additions and 18 deletions
  1. 23 18
      dev-tools/es_release_notes.pl

+ 23 - 18
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{$_} ) {