Skip to content

Commit 007d2f1

Browse files
marko-bekhtambellade
authored andcommitted
Update to the new JIRA search API (as previous one is getting deprecated)
and fix the query to look only for "done" tickets that would include resolved ones and no in-progress
1 parent 9c01bf5 commit 007d2f1

File tree

1 file changed

+30
-21
lines changed

1 file changed

+30
-21
lines changed

release/release.gradle

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def changeLogFileTask = tasks.register( "changeLogFile" ) {
106106

107107
doFirst {
108108
logger.lifecycle( "Appending version `${project.releaseVersion}` to changelog..." )
109-
ChangeLogFile.update( ormBuildDetails.hibernateVersion.fullName );
109+
ChangeLogFile.update( ormBuildDetails.hibernateVersion.fullName, rootProject );
110110
}
111111
}
112112

@@ -478,9 +478,9 @@ static String inputStreamToString(InputStream inputStream) {
478478
class ChangeLogFile {
479479

480480
// Get the Release Notes from Jira and add them to the Hibernate changelog.txt file
481-
static void update(String releaseVersion) {
481+
static void update(String releaseVersion, Project project) {
482482
def text = ""
483-
File changelog = new File( "changelog.txt" )
483+
File changelog = project.rootProject.layout.projectDirectory.file( "changelog.txt" ).asFile
484484
def newReleaseNoteBlock = getNewReleaseNoteBlock(releaseVersion)
485485
changelog.eachLine {
486486
line ->
@@ -503,24 +503,33 @@ class ChangeLogFile {
503503
else {
504504
restReleaseVersion = releaseVersion
505505
}
506-
def apiString = "https://hibernate.atlassian.net/rest/api/2/search/?jql=project=HHH%20AND%20fixVersion=${restReleaseVersion}%20order%20by%20issuetype%20ASC"
507-
def apiUrl = new URL( apiString )
508-
def jsonReleaseNotes = new JsonSlurper().parse( apiUrl )
509-
def releaseDate = new Date().format( 'MMMM dd, YYYY' )
510-
def versionId = getVersionId( jsonReleaseNotes, restReleaseVersion )
511-
512-
ReleaseNote releaseNotes = new ReleaseNote( releaseVersion, releaseDate, versionId )
513-
514-
def issuetype
515-
jsonReleaseNotes.issues.each {
516-
issue ->
517-
if ( issuetype != issue.fields.issuetype.name ) {
518-
issuetype = issue.fields.issuetype.name
519-
releaseNotes.addEmptyLine();
520-
releaseNotes.addLine( "** ${issue.fields.issuetype.name}" )
521-
}
522-
releaseNotes.addLine( " * [" + issue.key + "] - " + issue.fields.summary )
523-
}
506+
def ReleaseNote releaseNotes = null
507+
def String nextPageToken = null
508+
def issuetype = null
509+
do {
510+
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&maxResults=200${nextPageToken == null ? '' : '&nextPageToken=' + nextPageToken}"
511+
def apiUrl = new URI(apiString).toURL()
512+
def jsonReleaseNotes = new JsonSlurper().parse(apiUrl)
513+
if (releaseNotes == null) {
514+
def releaseDate = new Date().format( 'MMMM dd, YYYY' )
515+
def versionId = getVersionId(jsonReleaseNotes, restReleaseVersion)
516+
releaseNotes = new ReleaseNote(releaseVersion, releaseDate, versionId)
517+
}
518+
519+
jsonReleaseNotes.issues.each {
520+
issue ->
521+
if ( issuetype != issue.fields.issuetype.name ) {
522+
issuetype = issue.fields.issuetype.name
523+
releaseNotes.addEmptyLine();
524+
releaseNotes.addLine( "** ${issue.fields.issuetype.name}" )
525+
}
526+
releaseNotes.addLine( " * [" + issue.key + "] - " + issue.fields.summary )
527+
}
528+
529+
nextPageToken = jsonReleaseNotes.nextPageToken
530+
531+
} while (nextPageToken != null)
532+
524533
releaseNotes.addEmptyLine()
525534
return releaseNotes.notes
526535
}

0 commit comments

Comments
 (0)