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.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.