@@ -278,7 +278,7 @@ def changeLogFileTask = tasks.register( "changeLogFile" ) {
278
278
279
279
doFirst {
280
280
logger. lifecycle( " Appending version `${ project.releaseVersion} ` to changelog..." )
281
- ChangeLogFile . update( ormVersion. fullName );
281
+ ChangeLogFile . update( ormVersion. fullName, rootProject );
282
282
}
283
283
}
284
284
@@ -423,9 +423,9 @@ static String inputStreamToString(InputStream inputStream) {
423
423
class ChangeLogFile {
424
424
425
425
// Get the Release Notes from Jira and add them to the Hibernate changelog.txt file
426
- static void update (String releaseVersion ) {
426
+ static void update (String releaseVersion , Project project ) {
427
427
def text = " "
428
- File changelog = new File ( " changelog.txt" )
428
+ File changelog = project . rootProject . layout . projectDirectory . file ( " changelog.txt" ). asFile
429
429
def newReleaseNoteBlock = getNewReleaseNoteBlock(releaseVersion)
430
430
changelog. eachLine {
431
431
line ->
@@ -448,24 +448,33 @@ class ChangeLogFile {
448
448
else {
449
449
restReleaseVersion = releaseVersion
450
450
}
451
- def apiString = " https://hibernate.atlassian.net/rest/api/2/search/?jql=project=HHH%20AND%20fixVersion=${ restReleaseVersion} %20order%20by%20issuetype%20ASC"
452
- def apiUrl = new URL ( apiString )
453
- def jsonReleaseNotes = new JsonSlurper (). parse( apiUrl )
454
- def releaseDate = new Date (). format( ' MMMM dd, YYYY' )
455
- def versionId = getVersionId( jsonReleaseNotes, restReleaseVersion )
456
-
457
- ReleaseNote releaseNotes = new ReleaseNote ( releaseVersion, releaseDate, versionId )
458
-
459
- def issuetype
460
- jsonReleaseNotes. issues. each {
461
- issue ->
462
- if ( issuetype != issue. fields. issuetype. name ) {
463
- issuetype = issue. fields. issuetype. name
464
- releaseNotes. addEmptyLine();
465
- releaseNotes. addLine( " ** ${ issue.fields.issuetype.name} " )
466
- }
467
- releaseNotes. addLine( " * [" + issue. key + " ] - " + issue. fields. summary )
468
- }
451
+ def ReleaseNote releaseNotes = null
452
+ def String nextPageToken = null
453
+ def issuetype = null
454
+ do {
455
+ def apiString = " https://hibernate.atlassian.net/rest/api/3/search/jql/?jql=project=HHH%20AND%20fixVersion=${ restReleaseVersion} %20AND%20statusCategory%20%3D%20Done%20order%20by%20issuetype%20ASC&fields=issuetype,summary,fixVersions&maxResults=200${ nextPageToken == null ? '' : '&nextPageToken=' + nextPageToken} "
456
+ def apiUrl = new URI (apiString). toURL()
457
+ def jsonReleaseNotes = new JsonSlurper (). parse(apiUrl)
458
+ if (releaseNotes == null ) {
459
+ def releaseDate = new Date (). format( ' MMMM dd, YYYY' )
460
+ def versionId = getVersionId(jsonReleaseNotes, restReleaseVersion)
461
+ releaseNotes = new ReleaseNote (releaseVersion, releaseDate, versionId)
462
+ }
463
+
464
+ jsonReleaseNotes. issues. each {
465
+ issue ->
466
+ if ( issuetype != issue. fields. issuetype. name ) {
467
+ issuetype = issue. fields. issuetype. name
468
+ releaseNotes. addEmptyLine();
469
+ releaseNotes. addLine( " ** ${ issue.fields.issuetype.name} " )
470
+ }
471
+ releaseNotes. addLine( " * [" + issue. key + " ] - " + issue. fields. summary )
472
+ }
473
+
474
+ nextPageToken = jsonReleaseNotes. nextPageToken
475
+
476
+ } while (nextPageToken != null )
477
+
469
478
releaseNotes. addEmptyLine()
470
479
return releaseNotes. notes
471
480
}
0 commit comments