Массовое обновление значения системного поля для задач Jira - malikovalibek/groovyForJira GitHub Wiki
Обзор Используйте этот сценарий в консоли сценариев, чтобы обновить значение системного поля для всех проблем, возвращаемых запросом JQL.
пример Как менеджер проекта, я хочу изменить описание набора похожих проблем в проекте. С помощью этого скрипта я могу легко автоматически изменять все эти описания проблем, экономя время и снижая риск человеческой ошибки.
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 }