It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to change custom field from text to Labels

Hi ,

As per my project requirement i have changes the custom field from text to Labels, While i am updating the values of custom filed i am getting groovy script error. Please suggest what could be the approch.

Error Stack :

java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set
at com.atlassian.jira.issue.customfields.impl.LabelsCFType.createValue(LabelsCFType.java:79)

 

Code: 

CustomField cfEcpId = cfManager.getCustomFieldObjectsByName("ECP ID Label").first();

cf.updateValue(fieldLayoutItem, issue, new ModifiedValue(currentValue, newValue), new DefaultIssueChangeHolder());

 

Regards,

JItendra

2 answers

0 votes
Nic Brough [Adaptavist] Community Leader May 30, 2017

You can't just change a field from one type to another.

Do you mean you have  a label field that you are trying to copy some text into from another field?

Hi,

Its not exactly changeing from one field to other , its like i am creating a new field with Lebel type and while processing through groovy script but not able to update the value .

Regard,

JItendra

Nic Brough [Adaptavist] Community Leader May 30, 2017

Ah, good, that's the right way to approach it.

The problem you have is that your script is not pushing the right type of data into the label field.

A string field is a string of letters.  A label field is a collection of individual labels, each of which holds a string that is the name of the label.

In your code, the "newValue" going into the changeHolder needs to be a collection of labels.  You'll need to read out the existing labels as a collection, then take the string you want to add to them, convert it into a set of labels you add to that collection, and post that back.

Thanks Nic,

Can you help me with sample code if you have , I just want to update the custom field of Label type with certain value(Issue key).

I am not sure how to achieve this with labelmanager api or cf.updateValue method .

 

Regards,

JItendra

Thanks Nic,

Now ist working fine to me .

 

Regards,

JItendra

 

Fazila Ashraf Community Leader Apr 27, 2018

Hi @Adhikari Jitendra Kumar Das,

Could you please share a sample code which is working for you? I have a similar requirement..

0 votes
Chase Brown Jun 07, 2018 • edited

@Adhikari Jitendra Kumar DasI am interested in getting the code for this... I'm assuming you are running it in the Script Console?

 

I had come up with a solution that will effectively accomplish my intent over time with this post: https://community.atlassian.com/t5/Jira-Core-questions/ScriptRunner-Listener-Copy-free-text-custom-field-value-into-a/qaq-p/743690 

However, being able to copy the free text values over to the new label field without having to wait for user-generated events would be amazing as some of our issues may never be edited. 

Suggest an answer

Log in or Sign up to answer
This widget could not be displayed.
This widget could not be displayed.
Community showcase
Posted in Jira Core

How to manage many similar workflows?

I have multiple projects that use variations of the same base workflow. The variations depend on the requirements of the project or issue type. The variations mostly come in the form of new statuses ...

736 views 7 0
Join discussion

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you