<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一條老狗

               老狗拉破車
    posts - 12, comments - 11, trackbacks - 0, articles - 0
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    JIRA插件開發(fā)(一) [原創(chuàng)]

    Posted on 2007-07-12 09:45 一條老狗 閱讀(6418) 評(píng)論(4)  編輯  收藏 所屬分類: Java

    大家都知道,JIRA是一個(gè)優(yōu)秀的問題跟蹤系統(tǒng)。
    但它不一定就能完全滿足你的需要,比如導(dǎo)入Excel方式提交的BUG。
    值得慶幸的是,JIRA提供了強(qiáng)大的插件開發(fā)功能,現(xiàn)說一說我的一點(diǎn)小經(jīng)驗(yàn)。

    準(zhǔn)備: JIRA3.9,  JIRA SDK,  IDEA / Eclipse, 熟悉Java(廢話),  熟悉WebWork
    資料: http://confluence.atlassian.com/display/JIRA/JIRA+Development+Hub
    官方資料可能無法全部找到你想要的,這時(shí)你可以下載一些其它第三方插件來分析其源碼。


    最重要的一點(diǎn),那就是反編譯JIRA代碼,直接查看之。
    比如,你想查看 /secure/IssueNavigator.jspa 的代碼
    打開 WEB-INF/classes/actions.xml 查找 IssueNavigator ,如下:   

    <action name="issue.IssueNavigator" alias="IssueNavigator">   
        
    <view name="success">/secure/views/navigator/navigator.jsp</view>   
        
    <view name="error">/secure/views/navigator/navigator.jsp</view>   
    </action>   

    表示其對(duì)應(yīng)的類是  com.atlassian.jira.web.action.issue.IssueNavigator 反編譯之即可。


    以下說一說一些常用的方法:
    JIRA提供各種 xxxManager 提口來實(shí)現(xiàn)各種操作
    你可以通過 ComponentManager.getInstance().getXxx() 來得到其實(shí)例
    也可以通過 ComponentManager.getComponentInstanceOfType(xxx.class) 來得到,非常方便。

    比如:

    JiraAuthenticationContext authenticationContext = ComponentManager.getInstance().getJiraAuthenticationContext();    
       
    ProjectComponentManager pcm 
    = (ProjectComponentManager)ComponentManager.getComponentInstanceOfType(ProjectComponentManager.class);   

    例子:

    public static User getCurrentUser() {        
        JiraAuthenticationContext authenticationContext 
    = ComponentManager.getInstance().getJiraAuthenticationContext();        
        
    return authenticationContext == null ? null : authenticationContext.getUser();        
    }
            
           
    public static Project getProject(long pid) {        
        
    return ComponentManager.getInstance().getProjectManager().getProjectObj(pid);        
    }
         
       
    public static MutableIssue getIssueById(Long id) {    
        
    try {    
            IssueManager issueManager 
    = ComponentManager.getInstance().getIssueManager();    
            
    return issueManager.getIssueObject(id);    
        }
     catch (Exception e) {    
            
    return null;    
        }
        
    }
        

    把郵件加入JIRA隊(duì)列:


    Email mail = new Email(toaddr);    
        
    MailQueueItem item 
    = new SingleMailQueueItem(mail);    
    ManagerFactory.getMailQueue().addItem(item);    

    另外你可以覆蓋JIRA的Action,比如覆蓋CreateSubTaskIssueDetails
    讓其在創(chuàng)建子任務(wù)時(shí)自動(dòng)導(dǎo)入父任務(wù)的一些數(shù)據(jù)(如"所屬模塊")。


    <action name="jira.plugin.rstoolkit.webui.action.CreateSubTaskIssueDetails" alias="CreateSubTaskIssueDetails">   
        
    <view name="error">/secure/views/createsubtaskissue-details.jsp</view>   
        
    <view name="input">/secure/views/createsubtaskissue-details.jsp</view>   
        
    <view name="init">/rstoolkit/initsubtaskdetails.jsp</view>   
    </action>   

    實(shí)在不想打字,其它的一些就不一一列舉了。


    評(píng)論

    # re: JIRA插件開發(fā)(一) [原創(chuàng)][未登錄]  回復(fù)  更多評(píng)論   

    2009-10-20 11:12 by paul
    您好!看到你的jira插件開發(fā)文章,希望能向您請(qǐng)教下問題。我的qq:157184362

    # re: JIRA插件開發(fā)(一) [原創(chuàng)]  回復(fù)  更多評(píng)論   

    2010-06-30 11:38 by yxyas
    jira 第二次開發(fā),我想在原有的基礎(chǔ)上在添加一個(gè)字段怎么做???我初學(xué)jira

    # re: JIRA插件開發(fā)(一) [原創(chuàng)]  回復(fù)  更多評(píng)論   

    2010-06-30 11:39 by yxyas
    我QQ:214156339
    想向你請(qǐng)教一下.

    # re: JIRA插件開發(fā)(一) [原創(chuàng)][未登錄]  回復(fù)  更多評(píng)論   

    2016-01-27 14:19 by Java Fans
    類似JIRA開發(fā)的插件化開源開發(fā)平臺(tái)JXADF,也是相當(dāng)震撼,詳細(xì)參見:http://osgia.com
    主站蜘蛛池模板: 国产免费怕怕免费视频观看| 国精无码欧精品亚洲一区| 日本一区二区三区免费高清| 暖暖免费高清日本一区二区三区| 亚洲欧洲中文日韩av乱码| 亚洲最新黄色网址| 丰满人妻一区二区三区免费视频| 无码日韩人妻av一区免费| 亚洲AV无码码潮喷在线观看| 国产亚洲视频在线| 国产一卡2卡3卡4卡2021免费观看| 亚洲色大成网站WWW久久九九| 亚洲另类自拍丝袜第五页| 亚洲成人免费在线| 国产精品亚洲αv天堂无码| 亚洲JLZZJLZZ少妇| 日韩视频在线精品视频免费观看| 亚洲国产精品日韩在线| 国产精品视频免费一区二区| 色天使色婷婷在线影院亚洲| 国产美女在线精品免费观看| 亚洲1区2区3区精华液| 好大好深好猛好爽视频免费| 亚洲成人免费电影| 国产自产拍精品视频免费看| 亚洲美国产亚洲AV| 亚洲视频在线一区二区| 91在线老王精品免费播放| 亚洲av午夜福利精品一区| 无码国产精品一区二区免费式影视| 亚洲日本VA午夜在线影院| 亚洲精品专区在线观看| 99爱在线精品视频免费观看9| 亚洲AV无码乱码在线观看裸奔| 免费精品国产自产拍在| 又黄又大的激情视频在线观看免费视频社区在线 | 成人浮力影院免费看| 亚洲影院在线观看| 三年片在线观看免费大全电影 | 亚洲AV成人一区二区三区在线看| 免费观看激色视频网站bd|