Массовое обновление значения системного поля для задач 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 }