Question, because I'm stuck... The log shows the <value> I am searching for but the comment does not delete--
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.Comment
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.security.roles.ProjectRole
import org.apache.log4j.Logger
def log = Logger.getLogger("com.acme.workflows")
IssueManager issueManager = ComponentAccessor.issueManager
CommentManager commentManager = ComponentAccessor.commentManager
def issueKeys = [<value1>,<value2>]
issueKeys.each
{issueKey ->
MutableIssue issue = issueManager.getIssueObject(issueKey)
List<Comment> comments = commentManager.getComments(issue)
comments.each
{comment ->
log.warn(comment.getRoleLevel())
if (comment.getRoleLevel() == <value>)
{commentManager.delete(comment)
}
}
}
Anyone know why?
I can manually delete each comment, but there are thousands of tickets.
Any guidance is appreciated.
Hi @Don Schier
There can be several reasons for this. But from the first look below if statement seems problematic:
if (comment.getRoleLevel() == <value>)
comment.getRoleLevel returns an instance of ProjectRole class, so you can't do such equality. Instead, you should be checking as below
if (null != comment.getRoleLevel() && <value>.equals(comment.getRoleLevel().getName()))
I also added a null check as it would be null if the comment is public.
I hope I was clear
Cheers
Tuncay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.