calculates text field, script too long

Simona Persico December 28, 2015

Hi all,

I'm creating a new business project in JIRA, each issue has the following fields:

  • supplier code 
  • supplier description

I wuold like automatically compile the supplier description based on the supplier code that is a text free field.

I tried to use the calculated text field, but the problem is that I have more than 4000 possible supplier and my script become too long and when i insert it in the description i receive an error...

Do you know a way to solve this problem?

Thank you!

Simona

 

6 answers

0 votes
Simona Persico January 19, 2016

Sorry for the delay in the answer...yes , its are 4000 and all active... sad

0 votes
Simona Persico December 28, 2015

sorry I wrote an example not inserting the correct values...

<!-- @@Formula:
String suppliercode= issue.get("customfield_12462");

if (suppliercode.equals( "001" )) return "Pippo";
if (suppliercode.equals( "AB4" )) return "Pluto";
if (suppliercode.equals( "C73" )) return "De cicco";

-->

so I don't think I can use an iterative code, but I am not so expert,... 

Simona

0 votes
Vasiliy Zverev
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.
December 28, 2015

I think you should use Map collection in this case. To make code more readable it better to put map filling into a function. Here is a code example how to do it, tune it to your needs:

import java.util.Map

Map&lt;String, String&gt; suppliersMap = new HashMap&lt;&gt;();

initiateMap(suppliersMap);

return suppliersMap.get("code " + 2053)

public initiateMap(Map&lt;String, String&gt; _map ) {
    for(int iSupl = 0; iSupl &lt; 4000; ++iSupl)
    _map.put("code " + iSupl, "desription " + iSupl);
}
0 votes
Simona Persico December 28, 2015

Yes, it is correct! I need the description for each supplier code

<!-- @@Formula:
String suppliercode= issue.get("customfield_12462");

if (suppliercode.equals( "001" )) return "supplier 1";
if (suppliercode.equals( "002" )) return "supplier 2";
if (suppliercode.equals( "003" )) return "supplier 3";

etc...

 

-->

Can you help me?

Thank you!

Simona

0 votes
Vasiliy Zverev
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.
December 28, 2015

As I understand you need to get description for any of 4000 basing on it's code. Is is right?

0 votes
GabrielleJ
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.
December 28, 2015

How does your code looks like? Have you tried any other way of displaying this like the Cascading Select Custom field? 4000 seems a very long list, are all those active?

Suggest an answer

Log in or Sign up to answer