Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Deletion of attachments older than 30 months

Sachin Shukla January 9, 2024
Unable to see the issues earlier it was working.
Jira version- 9.4.6 and we are working on data center
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.jql.parser.JqlQueryParser;
import com.atlassian.jira.issue.search.SearchQuery;
import com.atlassian.jira.issue.search.SearchResults;
import com.atlassian.jira.issue.search.SearchProvider;
import com.atlassian.jira.web.bean.PagerFilter;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.AttachmentManager;
import org.apache.log4j.Logger
import org.apache.log4j.Level
 
def logger = Logger.getLogger("com.acme.debug")
logger.setLevel(Level.DEBUG)
 
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
def issueManager = ComponentAccessor.getIssueManager()
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
 
def jqlQuery = "project = <YOURPROJECT> and resolution is not empty and attachments is not EMPTY  and updated < -180d"
 
def query = jqlQueryParser.parseQuery(jqlQuery)
def luceneQuery = SearchQuery.create(query, user)
def results = searchProvider.search(luceneQuery, PagerFilter.getUnlimitedFilter()).getResults()*.document
.collect{ComponentAccessor.issueManager.getIssueObject(it.getField('issue_id').stringValue().toLong())}
results.each { 
    issue ->
       def attachments = ComponentAccessor.attachmentManager.getAttachments(issue)
       attachments.each {attachment ->
          if (attachment.getFilesize() > 10000000) {
              logger.warn(issue.getKey()+" "+attachment.getFilename()+":"+attachment.getFilesize().toString())
       ComponentAccessor.attachmentManager.deleteAttachment(attachment)
            }
      }
}

1 answer

0 votes
Sachin Shukla January 9, 2024

Getting the attached error, can anyone help

Script logs.PNGScript for deletion.PNG

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events