Bulk Update the Value of a System Field on Jira Issues

Overview

Use this script in the Script Console to update the value of a system field for all issues returned by a JQL query.

Example

As a project manager, I want to modify the description of a set of similar issues in a project. With this script, I can easily bulk change all of these issue descriptions automatically, saving me time and reducing the risk of human error.

Requirements

    
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.issue.search.SearchProvider import com.atlassian.jira.jql.parser.JqlQueryParser import com.atlassian.jira.web.bean.PagerFilter import com.atlassian.jira.issue.search.SearchQuery // The issues returned from that JQL will get altered final searchQuery = "project = TEST" // Get some components def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser) def searchProvider = ComponentAccessor.getComponent(SearchProvider) def loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser def issueService = ComponentAccessor.issueService // Perform the search def query = jqlQueryParser.parseQuery(searchQuery) def searchResults = searchProvider.search(SearchQuery.create(query, loggedInUser), PagerFilter.unlimitedFilter) // Iterate all the results to update each issue searchResults.results.each { documentIssue -> // Define the new params (a new description) def issueInputParameters = issueService.newIssueInputParameters() issueInputParameters.setDescription("A new description") // Update the issue def issueId = documentIssue.document.fields.find { it.name() == "issue_id" }.stringValue().toLong() def updateValidationResult = issueService.validateUpdate(loggedInUser, issueId, issueInputParameters) assert updateValidationResult.isValid() : updateValidationResult.errorCollection // Validate the update def issueResult = issueService.update(loggedInUser, updateValidationResult) assert issueResult.isValid() : issueResult.errorCollection }
Discovered an issue? Report it here

Suggested for you