when a bug issue is created,then automatically the subtask issue should be created.
How to approach and what are the steps?
Create your own post function and configure on create step
check the following link to how to write post function
http://www.j-tricks.com/1/post/2010/08/workflow-post-function.html
Try using the Create On Transition Plugin. You can use the post-function to create a subtask. Also go through this documentation
Hope this helps!
How to get the parent issue in my subtask issue function?
Or use script runner, that will make life easier so that you need not write a plugin. The post function automatically defines an 'issue' object and you can use it.
Create a separate workflow for bug issuetype and apply post function provided by Create on transition plugin as said by Naren on the crete transition of this workflow.
I would go with Script Runner too. Groovy scripts are quite neat.
Issue currentIssue = (Issue) transientVars.get("issue");
Thanks Prasad,
I've written the following code
protected void
createSubTask(Map<String, Object> transientVariables, Map<String, String> args)
{
Issue originalIssue = (Issue)transientVariables.get(
"issue");
Issue parentIssue = originalIssue;
parentIssue =
this.issueManager.getIssueObject(originalIssue.getId());
MutableIssue issueObject =
this.issueFactory.getIssue();
issueObject.setIssueTypeObject(
this.constantsManager.getIssueTypeObject((String)args.get("field.subIssueTypeId")));
issueObject.setPriorityId(
this.constantsManager.getPriorityObject((String)args.get("field.subIssuePriorityId")).getId());
//issueObject.setSummary(replaceHelper.findReplace((String)args.get("field.subIssueSummary"), parentIssue, originalIssue, transientVariables));
Map params =
new HashMap();
params.put(
"issue", issueObject);
try
User user = ComponentManager.getInstance().getJiraAuthenticationContext().getLoggedInUser();
Issue subTask =
this.issueManager
.createIssueObject(user, params);
this.subTaskManager
.createSubTaskIssueLink(parentIssue, subTask, user);
ImportUtils.setIndexIssues(
true);
ComponentManager.getInstance().getIndexManager().reIndex(subTask);
}
catch
(Exception e)
log.error("Unexpected exception"
, e);
false
);
It is creating the issue but not creating the subtask issue returning //Create Issue:null//
error
It looks like you're new here. Sign in or register to get started.