How do I write a groovy expression for my workflow post-function

Ganga_Selvarajah July 26, 2016

JIRA version: 6.4.11

(1)

Post function: Set Field Value to constant or Groovy expression

I want to set the fix version via  Set Field Value to constant or Groovy expression. I tried this script, but didn't work for me. 

if(issue.get("fixVersions").getName() == "5.0.6")
{
return "SasS 5.0.6";
}
else
{
return "";
}

 

(2)

Post function: Transition issue

I want to transition, when the fix version is not set to "SaaS 5.0.6". I tried this script, but didn't work. 

issue.get("fixVersions").getName() != "5.0.6")
return true;} else {
return false;
}

Please provide a solution for me to resolve these issues

Cheers.

Ganga

3 answers

0 votes
Ganga_Selvarajah July 27, 2016

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.project.version.VersionManager
import com.atlassian.jira.project.version.Version

def vers = ComponentAccessor.getVersionManager().getVersion(23240)
def versionname = vers.getName() 

def verdesc = vers.getDescription()

if (versionname  == "5.0.6")
{
    return "SaaS 5.0.6";
}
else
{
   return "";
}

I executed this script to update fix version via post function, but it didn't work and also I am not seeing any error on JIRA log. 

 

0 votes
Petar Petrov (Appfire)
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2016

As documented here, issue.get("fixVersions") will return a collection of Version objects. Simply using getName() will not work - you need to iterate over the collection and check the name of each version object.

Ganga_Selvarajah July 27, 2016

Thanks for the quick response. 

Do you have an example, so that I can try?

Thanks,

Ganga

 

 

Ganga_Selvarajah July 28, 2016

could you please provide some example? thx

Ganga_Selvarajah August 1, 2016

Hi Petar,

I was able to set fix version using with below code via "Set Field Value to constant or Groovy expression" post function.

import com.atlassian.jira.component.ComponentAccessor

import com.atlassian.jira.project.version.VersionManager

import com.atlassian.jira.project.version.Version

 def vers = ComponentAccessor.getVersionManager().getVersion(20142)

def versionname = vers.getName()

if (versionname  != "SaaS 5.0.6")

{

    return versionname;

}

My next question, I would like to stop performing a transition, if a particular fix version is set. If there any post function or code that I can use to validation this request?

 

0 votes
Steven F Behnke
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 26, 2016

Do you get any errors on-screen or in your atlassian-jira.log file when these fail?

Suggest an answer

Log in or Sign up to answer