Hi everyone.
I built a Behavior that is working but am not having luck with Listener.
The listener does not seem to be firing.
I need it to fire on a field changed event.
I added the "Issue create" Event to see if I could get anything but am not having any luck.
This is my code for now.
I have stripped it code down for testing. Just want to see the event fire.
Below is the code I'm using
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
def Issue issue = issue
def User user = ComponentAccessor.getUserManager().getUserByName("username").getDirectoryUser()
def issueLinkManager = ComponentAccessor.issueLinkManager
def linkCollection = issueLinkManager.getLinkCollection(issue, user)
if (linkCollection && linkCollection.allIssues) {
def CustomFieldManager customFieldManager = ComponentAccessor.customFieldManager
def customField = customFieldManager.getCustomFieldObject("customfield_xxxx")
def linkedIssue = linkCollection.allIssues.first()
return linkedIssue.getCustomFieldValue(customField)
}
I get the error at the underlined code.
Hi Ashish,
Were you able to figure it out or do you still need help with this issue?
Josh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Joshua,
Can you please help me on this.
Thanks,
Ash.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ash,
You could create a scripted field that gets values from issues that are linked. For example, if Parent issue A was of type "Bug", the code for your scripted field would look like this:
import com.atlassian.jira.component.ComponentAccessor
def issueLinkManager = ComponentAccessor.getIssueLinkManager()
def customFieldManager = ComponentAccessor.getCustomFieldManager()
if (issue.issueType.name == "Bug") {
issueLinkManager.getOutwardLinks(issue.id).first() { issueLink -> // go through all issues linked off of the Story
def linkedIssue = issueLink.getDestinationObject()
def customField = customFieldManager.getCustomFieldObjectByName("customfield_xxxx")
return linkedIssue.getCustomFieldValue(customField)
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Joshua,
Thanks for your code, I see cannot find matching method error at line 5 as shown
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ash,
Sorry about that, that script contained a small error.
However, I think that script will not work for you anyway. Could you clarify the relationship between Issue A and Issue B? Is this correct:
In that case, a script like this should work:
import com.atlassian.jira.component.ComponentAccessor
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def subTasks = issue.getSubTaskObjects()
def childCfValue
if (subTasks) {
issue.getSubTaskObjects().each { subtask -> // go through sub-task issues
def customField = customFieldManager.getCustomFieldObject("customfield_12220")
childCfValue = subtask.getCustomFieldValue(customField)
}
}
return childCfValue
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Issue A is a Parent issue and Issue B is a linked issue to the parent issues.
Thank you, I will try this code and update you.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Joshua
Can I get the script for linked issues? I am trying to get it for a linked issue which should have a custom text field filled. If it is empty, my validator should through error.
Above script is working for subtasks. I tried to change it for linked issues but in vain, the linked issues script is not working, throwing error as shown in above screenshot of Ash
-Sumedh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.