Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

toUpperCase in Behaviour not working

Peter Brodt November 14, 2021

Can anyone tell me why toUpperCase() in a behaviour script is not working.

def myField = getFieldById("customfield_14511")
def myField Value = myFile.getValue()

myField .setFormValue(myFieldValue.toUpperCase())

-----

Error message:

cannot find matching method java.lang.Object#toUpperCase()

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 15, 2021

Hi Peter

Keep in mind that many errors displayed in scriptrunner script editors are warning only. 

This error is telling you that myFieldValue will be of  type "object". That just means that the type was not specified.

And the toUpperCase() method is only designed to work on a String.

But during runtime, that object might very well be a string. So when you run the script it will be okay.

If you really want to avoid the error in the editor, you can strongly type your variable or perform explicit type conversions.

For example :

def myField = getFieldById("customfield_14511")
String myFieldValue = myField.getValue() //using String instead of def

myField.setFormValue(myFieldValue.toUpperCase())

Or

def myField = getFieldById("customfield_14511")
def myFieldValue = myField.getValue()

myField.setFormValue(myFieldValue.toString().toUpperCase()) //explicitly convert to string
Peter Brodt August 25, 2022

thanks a lot Peter-Dave,

you are of course right and the script runs withour any errors.

Peter

TAGS
AUG Leaders

Atlassian Community Events