You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Groovy(Jira ScriptRunner)中为Version集合批量添加-Inbox后缀

Jira版本集合优化:替代循环批量生成带后缀版本

需求说明

需要为Version集合中的每个元素名称添加后缀"-Inbox",生成新的Version集合mynewVersions,当前通过循环调用ComponentAccessor.versionManager.createVersion实现,希望用更简洁的方式替代显式循环。

优化后代码

def matchedVersions = issue.getFixVersions().intersect(
    newIssueproject.getVersions(), 
    Version.NAME_COMPARATOR 
)

// 用Groovy集合的collect方法替代循环,直接生成目标集合
def mynewVersions = matchedVersions.collect { v ->
    ComponentAccessor.versionManager.createVersion(
        "${v.getName()}-Inbox", 
        startDate, 
        releaseDate, 
        description, 
        newIssueproject.id, 
        scheduleAfterVersion, 
        released
    )
}

优化说明

  • 利用Groovy集合原生的collect方法,自动遍历matchedVersions中的每个元素,执行闭包内的版本创建逻辑,最终直接返回包含所有新Version对象的集合,省去手动初始化ArrayList和调用add方法的步骤。
  • 采用Groovy字符串插值语法${v.getName()}-Inbox替代字符串拼接,代码更简洁易读。
  • 该写法和原循环的执行逻辑完全一致(仍是逐个调用createVersion),但代码更紧凑、符合Groovy的简洁风格,减少冗余代码量。

内容的提问来源于stack exchange,提问作者منى

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:15:01