如何使用脚本侦听器插件设置Jira子任务的组件



我使用的是Jira插件groovyrunner,它有几个内置脚本。其中一个是脚本监听器,当某个项目触发特定事件时,它会运行内置脚本。在这种情况下,脚本是"创建子任务"。选择一些设置和可能的约束后,可以运行其他代码。我有它,所以在创建子任务时设置了受让人。现在我要做的是设置子任务的组件。目前,它使用的是父组件,这是我不想要的。

最初我尝试使用:

issue.setComponentIds('idnum')

但现在我发现了这个:

setComponentObjects(Collection<ProjectComponent> components)

在http://docs.atlassian.com/jira/latest/com/atlassian/jira/issue/MutableIssue.html

我只是在构建具有组件id的ProjectComponent并将其插入集合时遇到了麻烦。

如果你唯一的问题是从它的id中获取ProjectComponent对象,而不是在groovy脚本中,你可以简单地获取它:

ProjectComponentManager pcm = ComponentAccessor.getProjectComponentManager();
ProjectComponent pc = pcm.find(long_id); 
List<ProjectComponent> list = new ArrayList<ProjectComponent>();
list.add(pc); 

或者,如果所选组件上有其他标识符或条件,则应检查http://docs.atlassian.com/jira/5.1/com/atlassian/jira/bc/project/component/ProjectComponentManager.html了解更多信息。

最新更新