Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Getting "Cannot invoke method getCreated() on null object” : created scripted field for Last comment

Nilanjana Misra February 6, 2018

I have created a scripted field to capture the last comment in a story- Last Comment

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.comments.Comment
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.component.ComponentAccessor

def commentManager = ComponentAccessor.getCommentManager()
def comment = commentManager.getLastComment (issue)
def date = comment.getCreated()
if(comment!=null)

{ return ((date as String) + " " + comment.body + " Author: " + comment.authorFullName) }

return "null";

I am getting below error
2018-02-07 01:05:35,694 ERROR [customfield.GroovyCustomField]: *************************************************************************************
Script field failed on issue: SPD-****, field: Last Comment
java.lang.NullPointerException: Cannot invoke method getCreated() on null object
at Script140613.run(Script140613.groovy:9)

I am not a engineer ,so please help me with the code.How do i fix this NPE.
BTW the template I have used in Text field Multiline and Free Text Searcher
Please help !!

1 answer

1 accepted

0 votes
Answer accepted
Charly [DEISER]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 7, 2018

Hi @Nilanjana Misra

The problem with your script is that in line number 8 "issue" is null (not defined). This is why you get the error.

Make sure you are passing the issue correctly.

Hope this helps

Charly [DEISER]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 7, 2018

I've tried something like this and get the result:

import com.atlassian.jira.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.comments.Comment
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.component.ComponentAccessor

def issueManager = ComponentAccessor.getIssueManager()
def issue = issueManager.getIssueObject("XXXXX")


def commentManager = ComponentAccessor.getCommentManager()
def comment = commentManager.getLastComment(issue)
def date = comment.getCreated()
if(comment!=null)
{ return ((date as String) + " " + comment.body + " Author: " + comment.authorFullName) }

return "null";

Nilanjana Misra February 9, 2018

Yes , you are right .I got it working now.Thank you

Christopher Gronde
Contributor
December 3, 2019

I am having this same issue.  @Charly [DEISER] do I put that code in the field as is or am I supposed to replace the "XXXXX" with something?

Raynard Rhodes
Contributor
August 6, 2020

You should use an existing issue number ex. ISS-3548

Like Andrzej Dudziński likes this

Suggest an answer

Log in or Sign up to answer