java - 尝试使用 groovy 脚本运行程序在 JIRA 中删除时出现 NullPointerException

标签 java groovy nullpointerexception jira

我对 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)

最佳答案

根据JIRA documentation

customFieldManager.getCustomFieldObject("12345")

如果 JIRA 中没有标识符为“12345”的客户字段,将返回 null,这就是为什么

customFieldManager.removeCustomField(customField_toDelete)

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

如果方法removeCustomField是@Nullable(即使用Nullable注释进行注释),那么可以将null传递给该方法,但由于它没有使用该方法进行注释,因此会抛出异常。

关于java - 尝试使用 groovy 脚本运行程序在 JIRA 中删除时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42194874/

相关文章:

java - HtmlUnit 空指针异常

java - 如何测试jpa连接?

database - Grails,在具有复合 id 的域类上使用 read()

gradle - 是否可以将 Gradle 构建脚本划分为单独的源文件?

java - validate() 树在 L&F 更改时抛出 NullPointerException?

java - Java 中的输出流

java - 调整 JFrame 大小以适合 JPanel

java - 什么是NullPointerException,我该如何解决?

java - 哪里可以找到 NotNull java 注释

java - 由于 AsyncTask onPostExecute(),ArrayAdapter<String> 中出现 Android NullPointerException