gpt4 book ai didi

jira - 当父问题修复版本更新时更新 JIRA 子任务修复版本

转载 作者:行者123 更新时间:2023-12-02 04:53:18 32 4
gpt4 key购买 nike

创建问题时,修复版本字段会设置为特定值(例如 2.0)。然后创建子任务,它们继承这个值。到目前为止,一切都很好。但如果稍后,问题的修复版本值被修改(比如 1.0),子任务仍然保持 2.0 修复版本值。

有没有我可以用来保持这些字段同步的插件或技术?

注意:这已被要求作为 JIRA 功能,但 Atlassian 似乎不想这样做。 https://jira.atlassian.com/browse/JRA-9016

最佳答案

我知道这是一个相当古老的问题。但这是我最近部署的代码。这是从 ScriptRunner 插件部署在脚本监听器上的 issueUpdated 事件的事件监听器。许多代码来自 Jamie Echlin 的示例。当 Parent 上的 Fix Version 字段为“空”时,它仍然需要进行调整,它的子任务也需要为空。

package com.custom.listeners

import org.apache.log4j.Category
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.event.issue.AbstractIssueEventListener
import com.atlassian.jira.event.issue.IssueEvent
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.project.version.Version
import com.opensymphony.workflow.InvalidInputException
import com.atlassian.jira.config.SubTaskManager
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.event.type.EventDispatchOption
import java.util.ArrayList
import java.util.Collection

class FixVersionPBI_To_SBI_1 extends AbstractIssueEventListener
{

Category log = Category.getInstance(FixVersionPBI_To_SBI_1.class)

@Override
void issueUpdated(IssueEvent event)
{

try
{
Issue fix_Issue = event.getIssue()
if (fix_Issue.issueTypeObject.name == "Parent issue type" )
{
List changeItems = event.getChangeLog().getRelated("ChildChangeItem")
if( fix_Issue.fixVersions?.name && changeItems.any {it.get('field')=='Fix Version'} )
{
Collection<Version> fixVersions = new ArrayList<Version>();
fixVersions = fix_Issue.getFixVersions()
Collection subTasks = fix_Issue.getSubTasks();
SubTaskManager subTaskManager = ComponentManager.getInstance().getSubTaskManager();

if (subTaskManager.subTasksEnabled && !subTasks.empty)
{
IssueManager issueManager = ComponentManager.getInstance().getIssueManager()
Collection _subTasks = fix_Issue.getSubTaskObjects()
_subTasks.each
{
it.setFixVersions(fixVersions)
issueManager.updateIssue(event.getUser(), it, EventDispatchOption.ISSUE_UPDATED, false)
}
}
}
}
}
catch (ex)
{
log.debug "Event: ${event.getEventTypeId()} fired for ${event.issue} and caught by FixVersionPBI_To_SBI_1"
log.debug (ex.getMessage())
}
}
}

关于jira - 当父问题修复版本更新时更新 JIRA 子任务修复版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18428756/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com