Script runner - version selection

Ellie M_ July 15, 2021

Hi, 
A beginner - question regarding the script runner.
The code below correctly returns the version with the highest ID (the last created version). 

import com.atlassian.jira.component.ComponentAccessor

import static com.atlassian.jira.issue.IssueFieldConstants.*

if (getActionName() != "Create Issue") {
return
}

def versionManager = ComponentAccessor.getVersionManager()
def versions = versionManager.getVersions(issueContext.projectObject)
if (versions)
{
getFieldById(AFFECTED_VERSIONS).setFormValue([versions.last().id])
}

How to properly enhance this script to show the last created version, but only taking versions that start with / that have, e.g. "RC_*" in their name? 

I'm hoping for your help after many hours invested in learning and testing methods proposed for slightly different cases - which unfortunately returned () for me.

Thanks a lot!

1 answer

1 accepted

0 votes
Answer accepted
Ram Kumar Aravindakshan _Adaptavist_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 15, 2021

Hi @Ellie M_

For your requirement, you could add a basic if/else filter to your code as shown below:-

import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript

import static com.atlassian.jira.issue.IssueFieldConstants.*

@BaseScript FieldBehaviours behaviours

def versionManager = ComponentAccessor.versionManager
def affectedVersions = getFieldById(AFFECTED_VERSIONS)

def versions = versionManager.getVersions(issueContext.projectObject)

def filteredVersions = [] as List<Long>


versions.each {
if(it.name.startsWith("RC_")) {
filteredVersions.add(it.id)
}
}

affectedVersions.setFormValue(filteredVersions.last())

Please note, this sample code is not 100% exact to your environment. Hence, you will need to make the required modifications.

Below is a print screen of the versions available for testing:-

rc_image.png

Below is a print screen of the sample test. As expected, the latest RC version is selected.

image1.png

I hope this helps to solve your question. :)

Thank you and Kind Regards,

Ram

Ellie M_ July 16, 2021

It absolutely helped, Ram!
With some fine-tuning after testing, it now perfectly serves the need. 

Thank you so much for the prompt help. Much appreciated!

Suggest an answer

Log in or Sign up to answer