Иногда бывает так что в задачи проставляются лишние комментарии или например как здесь, вследствие ошибки обработчика почты в комментарии добавляется вот такая тарабарщина:
Задача состоит из двух частей:
1) Определить задачи в которых мы будем удалять комментарии
2) Определить комментарии которые мы будем удалять в этих задачах.
Все что нам в этом случае нужно, написать и запустить скрипт в консоли:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.bc.issue.search.SearchService
import com.atlassian.jira.web.bean.PagerFilter
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.CommentManager
def issueManager = ComponentAccessor.getIssueManager()
def issueLinkManager = ComponentAccessor.getIssueLinkManager()
def userManager = ComponentAccessor.getUserManager()
def commentManager = ComponentAccessor.getCommentManager()
def user = userManager.getUserByName("jira-bot")
String TASK_JQL = '''project in (PROJECTONE, PROJECTTWO, PROJECTETC) and issueFunction in commented("by jira-bot")'''
def runJQL(String jql, ApplicationUser user) {
def issuesSearch
def searchService = ComponentAccessor.getComponent(SearchService.class)
def issueManager = ComponentAccessor.getIssueManager()
def parseJQLResult = searchService.parseQuery(user, jql)
if (parseJQLResult.isValid()) {
def result = searchService.search(user, parseJQLResult.getQuery(), PagerFilter.getUnlimitedFilter())
def documentIssues = result.results
return documentIssues.collect { issueManager.getIssueObject(it.id) }
} else {
log.error("Invalid JQL: " + jql);
log.debug("SendRFCReportToConfluenceSRV out")
}
return issuesSearch
}
def arrayTasks = runJQL(TASK_JQL, user) as List<MutableIssue>
for (MutableIssue issue in arrayTasks) {
commentManager.getComments(issue)
.findAll{it.getAuthorApplicationUser().equals(user)}
.collect{commentManager.delete(it)}
}