2017-02-13 41 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傳遞給方法,但由於它沒有用方法註釋,所以會引發異常。

相關問題