Forums

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

Looking for script or SQL to retrieve unuse custom fields

Royce Wong
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 26, 2017 edited

JIRA 6.2.2

HI,

I have 600 custom fields and would like to do clean up.

Is there a script (script runner)/SQL that returns custom fields have not been used for the pass 6 months?

I am aware I can do filter like:
"My custom field" is not EMPTY and createdDate < endOfMonth(-6)

but I don't want to do that 600 times.

Also aware there is/are plug-ins but looking for script (script runner)/SQL.

 

Thanks.

1 answer

1 accepted

0 votes
Answer accepted
Royce Wong
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 26, 2017

Answered my own question.

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.jql.parser.JqlQueryParser
import com.atlassian.jira.web.bean.PagerFilter

def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
def issueManager = ComponentAccessor.getIssueManager()
def user = ComponentAccessor.getJiraAuthenticationContext().getUser()def
customFieldManager = ComponentAccessor.getComponent(CustomFieldManager)

List<CustomField> cfObjects = customFieldManager.getCustomFieldObjects()


for (cf in cfObjects) {
        def query = jqlQueryParser.parseQuery(cf.getClauseNames().getPrimaryName() + " is not EMPTY and created > -180d")
        def results = searchProvider.search(query, user, PagerFilter.getUnlimitedFilter())

       if (results.total == 0) {
            //these are the unused fields
            log.debug(cf.getName() + "," + cf.getClauseNames().getPrimaryName() + "," + cf.getCustomFieldType().name)
        }
}

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, out of office, loom, confluence, async collaboration, meeting recaps, remote teamwork, team alignment, knowledge sharing, AI-powered notes, productivity tools, workforce continuity, teamwork collection

Put your meeting notes on autopilot with Loom + Confluence

AI-powered meeting notes keep work moving even if you’re out of the office. Enjoy your well-deserved time off and return refreshed, confident you’ll catch up in no time.

Learn more
AUG Leaders

Atlassian Community Events