2017-02-13 45 views
1

我对Groovy脚本运行器非常陌生,我一直试图删除JIRA中的字段,但我总是得到NullPointerException。尝试使用groovy脚本运行器在JIRA中删除时出现NullPointerException

我明白NullPointerMeans和我在网上和atlassian阅读过多篇文章,但没有任何帮助。

任何想法/帮助表示赞赏我如何能做到这一点

import com.atlassian.jira.issue.Issue 
import com.atlassian.jira.issue.MutableIssue 
import com.atlassian.jira.issue.IssueManager 
import com.atlassian.jira.ComponentManager 
import com.atlassian.jira.issue.CustomFieldManager 
import com.atlassian.jira.component.ComponentAccessor 
import com.atlassian.jira.issue.fields.CustomField 
import org.apache.log4j.Logger; 
import org.apache.log4j.Level; 

CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager(); 

CustomField customField_toDelete = customFieldManager.getCustomFieldObject("12345") 

customFieldManager.removeCustomField(customField_toDelete); 

堆栈跟踪

java.lang.NullPointerException 
    at com.atlassian.jira.issue.managers.DefaultCustomFieldManager.removeCustomField(DefaultCustomFieldManager.java:490) 
    at com.atlassian.jira.issue.CustomFieldManager$removeCustomField$7.call(Unknown Source) 
    at Script2441.run(Script2441.groovy:20) 

回答

0

按照JIRA documentation

customFieldManager.getCustomFieldObject("12345") 

将返回如果有在JIRA中没有识别客户的字段R“12345”,因此为什么

customFieldManager.removeCustomField(customField_toDelete) 

抛出一个空指针(因为customField_toDelete是

如果方法removeCustomField被@Nullable(即是与可空注解),则这将是可以将null传递给方法,但由于它没有用方法注释,所以会引发异常。

相关问题