• [转]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
    }
  • 相关阅读:
    DS博客作业03--树
    DS博客作业02--栈和队列
    DS博客作业02--线性表
    c博客06-结构体&文件
    c博客作业-指针
    C语言博客作业04--数组
    C语言博客作业03--函数
    图书馆
    5-互评-OO之接口-DAO模式代码阅读及应用.xls
    DS博客作业04--图
  • 原文地址:https://www.cnblogs.com/freeliver54/p/15877055.html
Copyright © 2020-2023  润新知