How to copy the values of child... And append that values to parent using jmwe groovy postfunction script ..
Please help me
iam writing this groovy script in parent transition. As of now i am able to get the values into the parent . the appending part is not done .
unable to append the values from all the subtasks.
Please help me in this .
my script:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.fields.CustomField
String Actionitems = "customfield_14003"
String completeditems = "customfield_14006"
String issueContextValue = issue.get("customfield_14003")
ApplicationUser loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser
IssueManager issueManager = ComponentAccessor.issueManager
if(issue.get("summary") == "RBA Task for your group")
{return
}
else if(issue.get("summary") == "RBA Fullfillment Task for Desk Side")
{
def associates = issue.get(Actionitems)
MutableIssue parentIssueToUpdate = issueManager.getIssueObject(issue.parentObject.id)
String completeditemsParent = parentIssueToUpdate.get(completeditems)[0];
parentIssueToUpdate.setFieldValue(completeditems, completeditemsParent + "\nHardware:" + associates)
issueManager.updateIssue(loggedInUser, parentIssueToUpdate, EventDispatchOption.DO_NOT_DISPATCH, false)
}
else
{
def associates = issue.get(Actionitems)
MutableIssue parentIssueToUpdate = issueManager.getIssueObject(issue.parentObject.id)
String completeditemsParent = parentIssueToUpdate.get(completeditems)[0];
parentIssueToUpdate.setFieldValue(completeditems, completeditemsParent + "\nSoftware:" + associates)
issueManager.updateIssue(loggedInUser, parentIssueToUpdate, EventDispatchOption.DO_NOT_DISPATCH, false)
}
Now its working fine with append as well with below code. But the changelle is that there is null value also displaying in the output .Can you help me in this
Script:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.fields.CustomField
String Actionitems = "customfield_14003"
String completeditems = "customfield_14006"
String issueContextValue = issue.get("customfield_14003")
ApplicationUser loggedInUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser
IssueManager issueManager = ComponentAccessor.issueManager
if(issue.get("summary") == "RBA Task for your group")
{return
}
else if(issue.get("summary") == "RBA Fullfillment Task for Desk Side")
{
def associates = issue.get(Actionitems)
MutableIssue parentIssueToUpdate = issueManager.getIssueObject(issue.parentObject.id)
String completeditemsParent = parentIssueToUpdate.get(completeditems)
parentIssueToUpdate.setFieldValue(completeditemsParent, completeditemsParent + "\nHardware:" + associates)
issueManager.updateIssue(loggedInUser, parentIssueToUpdate, EventDispatchOption.DO_NOT_DISPATCH, false)
}
else
{
def associates = issue.get(Actionitems)
MutableIssue parentIssueToUpdate = issueManager.getIssueObject(issue.parentObject.id)
String completeditemsParent = parentIssueToUpdate.get(completeditems)
parentIssueToUpdate.setFieldValue(completeditemsParent, completeditemsParent + "\nSoftware:" + associates)
issueManager.updateIssue(loggedInUser, parentIssueToUpdate, EventDispatchOption.DO_NOT_DISPATCH, false)
}
output:
Completed Items:null
Software:Create account in Zoom portal
GSR for GitHub Access
GSR for Microsoft Storage Explorer
-- Completed
Software:Access to SharePoint Site; <ASG> [CONTRIBUTOR]
-- Completed
Hi @kiranmai genkolla ,
If I read your code properly, you are actually putting this code on a sub-task transition, not a parent transition, because "issue" represents a sub-task (otherwise you wouldn't be able to call issue.parentObject).
There is a much easier (and safer) way to accomplish the same thing. You can use a Set Field Value of Related Issues post-function with the following configuration:
String Actionitems = "customfield_14003"
String completeditems = "customfield_14006"
if(issue.get("summary") == "RBA Task for your group" || issue.get(Actionitems) == null)
return null
if(issue.get("summary") == "RBA Fullfillment Task for Desk Side")
return relatedIssue.get(completeditems) + "\nHardware:" + issue.get(Actionitems))
return relatedIssue.get(completeditems) + "\nSoftware:" + issue.get(Actionitems))
in one thing place ,
there is one drop down field in the parent .. based on that the values on it . i need to populate the fields on the close and on hold transition . this part was already done .
based on the values on the fields in the transition fields i need to append that fields in the parent issue .
Can you help me in this in code
I'm afraid I didn't quite get what you're trying to do. What do you mean by "append that fields in the parent issue"?
No David the above requirement is different one . But now I have achieved it .
Recommended Learning For You
Level up your skills with Atlassian learning
Learning Path
Get the most out of Jira Service Management
Solve customer problems efficiently and deliver outstanding service experiences.
Learning Path
Adopt ITSM practices to deliver exceptional service
Become familiar with the principles and practices that drive ITSM. Then, learn how to configure and use Jira Service Management to implement them.
Atlassian Certified Associate
Jira Service Management Agent Essentials certification
Prove you know what's essential to providing efficient and resolution-focused service in Jira Service Management.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.