12

問題が作成されたときにサブタスクを自動的に作成する方法があるのではないかと思います。

たとえば、カスタムの標準発行タイプXXXと、サブタスク発行タイプYYYおよびZZZを作成します。タイプXXXの問題を作成すると、それぞれの問題タイプYYYとZZZの2つのサブタスクが自動的に作成されます。

4

4 に答える 4

11

これは、 Jira Scripting Suiteを使用して、プロジェクトのワークフローで課題作成トランジションの事後処理を使用することで簡単に行うことができます。サンプルコード:

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)
于 2012-06-04T07:08:50.420 に答える
0

「テンプレート」と呼ばれるチケットを作成し(必要なすべてのサブタスクを含む)、新しいインスタンスを作成するたびにコピー/クローンするだけです。

于 2014-08-01T05:50:22.657 に答える
0

考慮すべきことの 1 つは、すべてのサブタスクがクローズされる前に親課題がクローズされるとどうなるかです。問題をクローズする前に、すべてのサブタスクに対処するようユーザーに促すフックを入れることをお勧めします。

于 2012-06-21T18:18:25.523 に答える
0

アドオン Script Runner を使用して簡単な解決策を見つけました - http://isolaso​​ftware.it/2014/01/08/create-an-issue-in-jira-with-predefined-sub-tasks/

コードを記述する必要はなく、ワークフロー エディターで事後操作の「サブタスクの作成」をセットアップするだけです。

于 2014-05-24T14:36:03.037 に答える