1. 程式人生 > 其它 >[轉]Bulk Update the Value of a System Field on Jira Issues

[轉]Bulk Update the Value of a System Field on Jira Issues

本文轉自:https://library.adaptavist.com/entity/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.

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.valid : updateValidationResult.errorCollection // Validate the update def issueResult = issueService.update(loggedInUser, updateValidationResult) assert issueResult.valid : issueResult.errorCollection }