Hi,
I would like to automatically set next unreleased fixVersion for new issues or during a transition.
I belive "script runner" is my only option?
If so, does anyone have written somthing like that?
How can I get the "next unreleased fixVersion" using jira API?
Any help would be appriciated
Something like this, not tested:
import com.atlassian.jira.component.ComponentAccessor def versionManager = ComponentAccessor.getVersionManager() def projectManager = ComponentAccessor.getProjectManager() def project = projectManager.getProjectObjByKey("JRA") def versions = versionManager.getVersions(project) versions.sort {it.releaseDate}.reverse().find{! it.released}
works like a charm
As I'm sharing the WL, Can I use somthing like that ?:
import com.atlassian.jira.component.ComponentAccessor; def versionManager = ComponentAccessor.getVersionManager() def projectManager = ComponentAccessor.getProjectManager() def project = projectManager.getProjectObjByKey(issue.projectObject.key) def versions = versionManager.getVersions(project) versions.sort {it.releaseDate}.reverse().find{! it.released}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The above code didn't work (version 7 maybe?) as it reported UnmodifiableListIterator, so I have managed to find another way.
import com.atlassian.jira.component.ComponentAccessor import org.apache.log4j.Logger import org.apache.log4j.Level def versionManager = ComponentAccessor.getVersionManager() def projectManager = ComponentAccessor.getProjectManager() def project = projectManager.getProjectObjByKey(issue.projectObject.key) def versions = versionManager.getVersions(project) def newversions = versions.collect() def log = Logger.getLogger("com.acme.CreateSubtask") log.setLevel(Level.DEBUG) //log.debug newversions //newversions.eachWithIndex { version, i -> //log.debug "${version.description} - ${version.name} - ${version.released}" //} //versions.sort {it.releaseDate} newversions = newversions.sort({version1, version2 -> version1.releaseDate<=>version2.releaseDate}).findAll{version -> ! version.released } log.debug("First element: " + newversions.first()) //newversions.eachWithIndex { version, i -> //log.debug "${version.description} - ${version.name} - ${version.released}" //} def versionToUse = newversions.first();
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You can use earliestUnreleasedVersion(projectKey) (see Substitution variables) as a substitution variable on a workflow transition to set the fix version. This is available for Create Issue, Create Subtask, and Update issues post functions.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.