We get a good amount of Jira tickets and replies from company e-mail accounts that include a large amount of set boilerplate legal language on the bottom of them. The e-mail parser we use (Enhanced Mail Handler) filters out the reply strings, but not the footer language.
Is it possible to remove a certain string (or one fitting a regular expression) whenever an issue description is created or when a comment is posted?
Hello August.
Yes it is, however it would add quite a bit of load to your server if I am not mistaken. Basically you would set up a script listener that triggers on Issue Commented event and on IssueCreated event.
The listeners shuold parse the description in case of the IssueCreated event. And in case of the IssueCommented they would have to parse the commented text.
Do you need pointers as to how to do that or does this suffice?
Cheers
DYelamos
Hi Daniel,
Thanks for your reply! I'm new to Groovy scripting, but I started with something like this:
import com.atlassian.jira.issue.Issue def issue = event.issue as Issue issue.description.replaceAll("This email was sent by a company .*", "")
My intention here was, on create or update, to remove all the text after the boilerplate language (hence the .*). But I don't think I'm using the Jira-relevant syntax just right here.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi August.
That doesn't have to do with JIRA. What you need to use there(first argument of the function "replaceAll") is a regular expression. I myself am not an expert, but I can recomend this article, that will teach you how to use that "...description.replaceAll(...)"
If you find anymore trouble, please do respond, and I'll spend some time crafting an example for you.
Cheers.
Dyelamos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Daniel,
I wasn't suggesting that this had to do with Jira per se, just that the syntax I was using the access the Jira issue might be incorrect. The first argument I supply above is actually a regular expression, taking the occurrence of zero more more chracters following that string and replacing it with the empty string. I'm just not versed in how I write the Jira issue with that, which seems not to be working. There seem to be a variety of ways to bring the issue in scope, but none of the syntax guides I've seen are clear on what will work in this case.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ow okay. Now I get you.
First of all I don't think groovy regular expressions accept asterisk expansion, but if you say that works for you, I might be wrong.
If your code above does filter the right string, then:
You need to fetch the MutableIssue from that Issue.
That issue has a method called setDescription.
I believe this would work:
import com.atlassian.jira.issue.Issue import com.atlassian.jira.issue.MutableIssue def issue = event.issue as mutableIssue def newDesc = issue.description.replaceAll("This email was sent by a company .*", "") issue.setDescription(newDesc) issue.store()
Let me know if this works.
Cheers!
DYelamos
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.