创建问题后自动创建JIRA子任务 [英] Create JIRA sub-tasks automatically when issue created

查看:830
本文介绍了创建问题后自动创建JIRA子任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道有没有一种方法可以在创建问题时自动创建子任务.

I am wondering there is a way to create sub-tasks automatically when issue created.

例如,我创建一个自定义的标准问题类型,XXX和子任务问题类型YYY和ZZZ.当我创建类型为XXX的问题时,将自动创建两个分别具有问题类型YYY和ZZZ的子任务.

For example, I create a custom Standard Issue Type, XXX, and Sub-tasks Issue Type YYY and ZZZ. When I create a issue with type XXX, then two sub-tasks with respective issue type YYY and ZZZ will be created automatically.

推荐答案

通过使用 Jira脚本套件,您可以轻松地做到这一点在项目工作流上的问题创建过渡后发布功能.示例代码:

You could so this easily using Jira Scripting Suite by using post function on issue creation transition on the project's workflow. Sample code:

from com.atlassian.jira.util import ImportUtils
from com.atlassian.jira import ManagerFactory
from com.atlassian.jira.issue import MutableIssue
from com.atlassian.jira import ComponentManager
from com.atlassian.jira.issue.link import DefaultIssueLinkManager
from org.ofbiz.core.entity import GenericValue;

# get issue objects
issueManager = ComponentManager.getInstance().getIssueManager()
issueFactory = ComponentManager.getInstance().getIssueFactory()
authenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext()
subTaskManager = ComponentManager.getInstance().getSubTaskManager();
issueLinkManager = ComponentManager.getInstance().getIssueLinkManager()
customFieldManager = ComponentManager.getInstance().getCustomFieldManager()
userUtil = ComponentManager.getInstance().getUserUtil()

# define subtask
issueObject = issueFactory.getIssue()
issueObject.setProject(issue.getProject())
issueObject.setIssueTypeId("5") # normal subtask
issueObject.setParentId(issue.getId())

# set subtask attributes
issueObject.setFixVersions(issue.getFixVersions())
issueObject.setAffectedVersions(issue.getAffectedVersions())
issueObject.setPriority(issue.getPriority())
issueObject.setSummary("Auto created sub task- "+issue.getSummary())
issueObject.setAssignee(userUtil.getUserObject("joe"))

# Create subtask on JIRA 4.x
# subTask = issueManager.createIssue(authenticationContext.getUser(), issueObject)
# subTaskManager.createSubTaskIssueLink(issue.getGenericValue(), subTask, authenticationContext.getUser())

# Create subtask on JIRA 5 and higher
subTask = issueManager.createIssueObject(authenticationContext.getLoggedInUser(), issueObject)
subTaskManager.createSubTaskIssueLink(issue, subTask, authenticationContext.getLoggedInUser())

# Link parent issue to subtask   issueLinkManager.createIssueLink(issue.getId(),issueObject.getId(),10300,1,authenticationContext.getUser())

# Update search indexes
ImportUtils.setIndexIssues(True);
ComponentManager.getInstance().getIndexManager().reIndex(subTask)
ImportUtils.setIndexIssues(False)

这篇关于创建问题后自动创建JIRA子任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆