JIRA插件開發的工作本早已結束。
但近日有個朋友來問,如何在IssueNavigator顯示時,顯示用戶的帳號名(username),而不是其FullName。
當時我為他提供了兩種思路:
思路1。寫一個自定義字段插件,這個插件就是按用戶名來顯示報告者及被分派者。
然后再自定義問題導航欄,把你的自定義字段添加進去即可。
思路2。繼承并覆蓋問題導航功能的Action,直接修改其顯示的數據。
這個問題挺有意思,今日閑來無事,對第二種思路寫了點代碼來實現一下。
首先我們繼承IssueNavigator類:











































然后覆蓋其 getSearchResults() 方法,將issueList中的對象換為我們的新對象(DocumentIssueImpl)。
注意: 這里面為了取回document對象,使有了反射。或許有其它辦法,這里只做一個測試,不考慮其它問題。
為此,我們需要再繼承一個類 DocumentIssueImpl:

















然后我們覆蓋其 getAssignee() getReporter() 方法,把username賦值給fullname
這樣當調用 getFullName 時返回的就是 username了。
然后插件配置文件中覆蓋IssueNavigation Action




完成!