Skip to content

Commit 8f219f4

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 a563384 commit 8f219f4

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

279279
doFirst {
280280
logger.lifecycle( "Appending version `${project.releaseVersion}` to changelog..." )
281-
ChangeLogFile.update( ormVersion.fullName );
281+
ChangeLogFile.update( ormVersion.fullName, rootProject );
282282
}
283283
}
284284

@@ -423,9 +423,9 @@ static String inputStreamToString(InputStream inputStream) {
423423
class ChangeLogFile {
424424

425425
// 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) {
427427
def text = ""
428-
File changelog = new File( "changelog.txt" )
428+
File changelog = project.rootProject.layout.projectDirectory.file( "changelog.txt" ).asFile
429429
def newReleaseNoteBlock = getNewReleaseNoteBlock(releaseVersion)
430430
changelog.eachLine {
431431
line ->
@@ -448,24 +448,33 @@ class ChangeLogFile {
448448
else {
449449
restReleaseVersion = releaseVersion
450450
}
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+
469478
releaseNotes.addEmptyLine()
470479
return releaseNotes.notes
471480
}

0 commit comments

Comments
 (0)