Skip to content

Commit 18afa51

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 (cherry picked from commit 007d2f1)
1 parent 5085190 commit 18afa51

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
@@ -286,7 +286,7 @@ def changeLogFileTask = tasks.register( "changeLogFile" ) {
286286

287287
doFirst {
288288
logger.lifecycle( "Appending version `${project.releaseVersion}` to changelog..." )
289-
ChangeLogFile.update( ormVersion.fullName );
289+
ChangeLogFile.update( ormVersion.fullName, rootProject );
290290
}
291291
}
292292

@@ -433,9 +433,9 @@ static String inputStreamToString(InputStream inputStream) {
433433
class ChangeLogFile {
434434

435435
// Get the Release Notes from Jira and add them to the Hibernate changelog.txt file
436-
static void update(String releaseVersion) {
436+
static void update(String releaseVersion, Project project) {
437437
def text = ""
438-
File changelog = new File( "changelog.txt" )
438+
File changelog = project.rootProject.layout.projectDirectory.file( "changelog.txt" ).asFile
439439
def newReleaseNoteBlock = getNewReleaseNoteBlock(releaseVersion)
440440
changelog.eachLine {
441441
line ->
@@ -458,24 +458,33 @@ class ChangeLogFile {
458458
else {
459459
restReleaseVersion = releaseVersion
460460
}
461-
def apiString = "https://hibernate.atlassian.net/rest/api/2/search/?jql=project=HHH%20AND%20fixVersion=${restReleaseVersion}%20order%20by%20issuetype%20ASC"
462-
def apiUrl = new URL( apiString )
463-
def jsonReleaseNotes = new JsonSlurper().parse( apiUrl )
464-
def releaseDate = new Date().format( 'MMMM dd, YYYY' )
465-
def versionId = getVersionId( jsonReleaseNotes, restReleaseVersion )
466-
467-
ReleaseNote releaseNotes = new ReleaseNote( releaseVersion, releaseDate, versionId )
468-
469-
def issuetype
470-
jsonReleaseNotes.issues.each {
471-
issue ->
472-
if ( issuetype != issue.fields.issuetype.name ) {
473-
issuetype = issue.fields.issuetype.name
474-
releaseNotes.addEmptyLine();
475-
releaseNotes.addLine( "** ${issue.fields.issuetype.name}" )
476-
}
477-
releaseNotes.addLine( " * [" + issue.key + "] - " + issue.fields.summary )
478-
}
461+
def ReleaseNote releaseNotes = null
462+
def String nextPageToken = null
463+
def issuetype = null
464+
do {
465+
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}"
466+
def apiUrl = new URI(apiString).toURL()
467+
def jsonReleaseNotes = new JsonSlurper().parse(apiUrl)
468+
if (releaseNotes == null) {
469+
def releaseDate = new Date().format( 'MMMM dd, YYYY' )
470+
def versionId = getVersionId(jsonReleaseNotes, restReleaseVersion)
471+
releaseNotes = new ReleaseNote(releaseVersion, releaseDate, versionId)
472+
}
473+
474+
jsonReleaseNotes.issues.each {
475+
issue ->
476+
if ( issuetype != issue.fields.issuetype.name ) {
477+
issuetype = issue.fields.issuetype.name
478+
releaseNotes.addEmptyLine();
479+
releaseNotes.addLine( "** ${issue.fields.issuetype.name}" )
480+
}
481+
releaseNotes.addLine( " * [" + issue.key + "] - " + issue.fields.summary )
482+
}
483+
484+
nextPageToken = jsonReleaseNotes.nextPageToken
485+
486+
} while (nextPageToken != null)
487+
479488
releaseNotes.addEmptyLine()
480489
return releaseNotes.notes
481490
}

0 commit comments

Comments
 (0)