Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,301,533
Community Members
 
Community Events
165
Community Groups

Groovy expression using "contains" comparing with a variable

Edited

Hi,

I am using a ScriptRunner Script Listener utilizing

(issue.getSummary().contains("Escalation EMEA Project XY"))

which works pretty well.

I have an use case where I'd like to replace the predefined string with "contains" using a variable. Is this possible from Groovy scripts?

(issue.getSummary().equals(projectEscalation))

Where "projectEscalation" is a defined variable (basically working!) - I had no success.

Is there anything I am missing?

Basically I want to do further checks if the summary matches a specific string and if this is the case some other logics apply (already implemented and works).

Thanks,

Birgit

 

2 answers

1 accepted

0 votes
Answer accepted

This is just about using variables in groovy.  Try replacing

(issue.getSummary().contains("Escalation EMEA Project XY"))

with

def thingy = "Escalation EMEA Project XY"
(issue.getSummary().contains(thingy))

Note that in your question, you had also swapped "contains" for an exact match of "equals"

Thanks! I think I got an idea how it is supposed to work. While "equals" seems to work "contains" throws an error.

 

[Static type checking] - Cannot find matching method
java.lang.String#contains(com.atlassian.jira.issue.fields.CustomField).
Please check if the declared type is right and if the method exists.
Possible solutions: contain(java.lang.CharSequence),
contains(java.lang.CharSequence), toString(), toString(), toString(), notify() @ line 19, column 4

(issue.getSummary().contains(ticketReferenceValue))


Where the variables are defined as follows:

def ticketReference = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_10302")
def ticketReferenceValue = issue.getCustomFieldValue(ticketReference)


A typical content of the customfield is something like
[Ticket#123456]
I am unsure if the content is the reason for the error message (especially for the brackets or the hash sign).

Is there maybe an easy way around to fix it? That would be fabulous. Otherwise I'd consider to match agains at least a static string.

It is all solved now. Please ignore my previous message.

The last step missing was to use String instead of def.

 

Thanks to Nic for the good hint that pointed to the right direction.
I will mark the question as answered now.

Best regards,
Birgit

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Apps & Integrations

📅 Partner Webinar & Events Opportunities: July 2022

Hi community 👋, Here is another monthly roundup of the partner-organized events in July 2022. If there is any event missing please let me know in the comments below 🙏 If you're looking for Atla...

29 views 0 2
Read article

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