Quantcast
Channel: Active questions tagged atlassian-plugin-sdk - Stack Overflow
Viewing all articles
Browse latest Browse all 279

Not able to throw exceptions in scriptrunner

$
0
0

I am using the following postfunction to throw errors when the user enters incorrect input and I am not able to see any errors thrown when I try out my code on the UI of Jira. Here is my code, why are the exceptions not thrown even though my input values don't satisfy the requirements? I am supposed to click on MounaTransition and then I should have all the checks and nothing is done for the moment. How can I make this work?

enter image description here

import com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.MutableIssueimport org.apache.log4j.Loggerimport com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.CustomFieldManagerimport com.atlassian.jira.issue.fields.CustomFieldimport com.opensymphony.workflow.InvalidInputException;import com.softwareag.jira.insight.helper.Helper;import java.sql.ResultSet;import java.util.Map;import com.atlassian.jira.project.version.Version;import com.atlassian.jira.workflow.function.issue.AbstractJiraFunctionProvider;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.workflow.WorkflowException;import groovy.sql.GroovyRowResultimport groovy.sql.*import groovy.sql.Sqldef log = Logger.getLogger("atlassian-jira.log")log.warn("HELLO")       customDiagnoserId = produceCustomerDiagnoserID();issue.setSummary(customDiagnoserId)log.warn("MOUNA 2: "+customDiagnoserId)def produceCustomerDiagnoserID(){    def customFieldManager = ComponentAccessor.getCustomFieldManager()    def issueManager = ComponentAccessor.getIssueManager()    def cf = customFieldManager.getCustomFieldObject("Summary")    String summaryValue = issue.getSummary()    CustomField productCodeField = customFieldManager.getCustomFieldObject("customfield_10240");     String productCodeFieldValue =  issue.getCustomFieldValue(productCodeField);    CustomField SubTypeField1 = customFieldManager.getCustomFieldObject("customfield_11580");     String SubTypeFieldValue =  issue.getCustomFieldValue(SubTypeField1);    String customDiagnoserId = "";            customDiagnoserId += productCodeFieldValue +"_";            log.warn("CAMELIA")                 customDiagnoserId += getProductVersion() +"_";            log.warn("YAS1")                    customDiagnoserId += SubTypeFieldValue +"_";            log.warn("YAS2")                    customDiagnoserId += issue.getParentObject().getKey() +"_V";            log.warn("YAS3")                    customDiagnoserId += getCustomDiagnoserVersion(issue);            log.warn("YAS4")            log.warn("MOUNA 1: "+customDiagnoserId)    log.warn("Value: " +customDiagnoserId)      return customDiagnoserId}def getProductVersion(){    def CUSTOM_DIAGNOSER_PRODUCT_VERSION_HAS_MULTIPLE_VALUES = "Fix Version/s has multiple values";    log.warn("CAMELIA2")            if (0 < issue.getFixVersions().size() && issue.getFixVersions().size() < 2)    {                log.warn("CAMELIA3")                        return issue.getFixVersions().toArray()[0].toString();    }    else    {                log.warn("CAMELIA4")                        log.warn("---1 " + issue.getFixVersions().toArray()[0].toString())                      throw new InvalidInputException("resolution", CUSTOM_DIAGNOSER_PRODUCT_VERSION_HAS_MULTIPLE_VALUES)                log.warn("CAMELIA5")            }}def getCustomDiagnoserVersion(MutableIssue issue) throws Exception    {        CustomField customDiagnoserVersionField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_11589");         String customDiagnoserVersionFieldValue =  issue.getCustomFieldValue(customDiagnoserVersionField);        def CUSTOM_DIAGNOSER_CUSTOM_DIAGNOSER_VERSION_FIELD_OUT_OF_BOUNDS = "Value of field ':1:' not in range 1..9999";        def CUSTOM_DIAGNOSER_CUSTOM_DIAGNOSER_VERSION_FIELD_NOT_A_NUMBER = "Value of field ':1:' is not a number";        try        {            def version = Integer.parseInt(customDiagnoserVersionFieldValue);            if (0 < version && version < 10000)            {                return customDiagnoserVersionFieldValue;            }            else            {                log.warn("---2 ")                       throw new InvalidInputException("resolution", CUSTOM_DIAGNOSER_CUSTOM_DIAGNOSER_VERSION_FIELD_OUT_OF_BOUNDS.replaceAll(":1:", customDiagnoserVersionField.getName()))            }        }        catch (NumberFormatException exception)        {            log.warn("---3 ")                   throw new InvalidInputException("resolution",CUSTOM_DIAGNOSER_CUSTOM_DIAGNOSER_VERSION_FIELD_NOT_A_NUMBER.replaceAll(":1:", customDiagnoserVersionField.getName()))        }    }//void isUniqueCustomDiagnoserId(MutableIssue issue) throws Exception//  {//      DatabaseUtils database = new DatabaseUtils();//      if(!database.connect())//      {//          String message = "Could not connect to Database!";//          log.error(message);//          throw new WorkflowException(message);//      }//      ResultSet rs = database.executeQuery(CUSTOM_DIAGNOSER_ID_IS_UNIQUE_SQL.replaceAll(":1:", getCustomDiagnoserId(issue)));//      if(rs.next())//      {//          String issueKey = rs.getString("PKEY");//          if (database != null) database.close();//          throw new InvalidInputException(CUSTOM_DIAGNOSER_ID_IS_NOT_UNIQUE.replaceAll(":1:", getCustomDiagnoserId(issue)).replaceAll(":2:", issueKey));//      }//      if (database != null) database.close();//  }

Viewing all articles
Browse latest Browse all 279

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>