I was working on script for a Custom Listener (using Jira 7.3 and ScriptRunner 4.3) and noticed that following piece of code works:
import com.atlassian.jira.component.ComponentAccessor
def issueKey = "JIRA-1234"; def issueManager = ComponentAccessor.getIssueManager() def issueObject = issueManager.getIssueObject("JIRA-1234") def issueObjectID = issueObject.getId()
But when:
def issueObject = issueManager.getIssueObject("KEY-1234")
is being replaced by:
def issueObject = issueManager.getIssueObject(issueKey)
The code just assigns null to the issueObject variable and code returns following error:
java.lang.NullPointerException: Cannot invoke method getId() on null object
So in other words when the issue key is used directly as parameter for getIssueObject method - the code works. But when variable is used as a parameter - the code doesn't work.
Any idea why this is happening?
BTW, I have circumvented this problem using Search Provider (I share workaround in case somebody has similar problem and needs working solution):
import com.atlassian.jira.component.ComponentAccessor import com.atlassian.jira.jql.parser.JqlQueryParser import com.atlassian.jira.issue.search.SearchProvider import com.atlassian.jira.web.bean.PagerFilter def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser); def searchProvider = ComponentAccessor.getComponent(SearchProvider); def authContext = ComponentAccessor.getJiraAuthenticationContext(); def issueKey = "JIRA-1234"; def jqlQuery = jqlQueryParser.parseQuery(issueKey); def user = authContext.getLoggedInUser(); def results = searchProvider.search(jqlQuery, user, PagerFilter.getUnlimitedFilter());
def issues = results.getIssues();
def issueObject = issues[0];
def issueObjectID = issueObject.getId();
Thanks in advance for clarifying this oddness for me!
Hi Ron - Is this is duplicate of Issue Manager getIssueObject oddity?
If so, and you are happy your issue got solved, we could close this thread.
Let me know.
It seems to be the exact same question Sam.
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.