2010-01-13 31 views
2

籤通知是否有人知道怎樣才能擁有的StarTeam當在檢查時發送電子郵件通知?我們正在使用Starteam 2006 R2。與StarTeam

回答

1

不幸的是,StarTeam不提供執行登錄後操作的功能。您可以使用像巡航控制系統的應用程序來監控您更改資料庫,然後採取行動後,看到他們。

0

我也有類似的需要在幾個月前,這是我發現:

的StarTeam沒有承諾掛鉤,但它確實有Starteam MPX(borland.com)。從該鏈接開始,

StarTeamMPX是發佈/訂閱消息傳遞的框架。該StarTeamMPX Server使用先進的緩存和通信技術都提高了StarTeam客戶機的性能和擴展的StarTeam服務器的可擴展性。

好吧,我們可以訂閱活動。它看起來很有希望。

對於Starteam,有一個Java API(borland.com),使用此API通過您自己的CheckinListener接口的電子郵件實現創建一個應用程序。然後該應用程序將要連接到StarTeam中,發現你感興趣的任何意見,並登記聽衆對他們。然後等待。

您的聽衆將收到CheckinEvent,並且可以詢問這些信息。不幸的是,它似乎是逐個文件的基礎。我無法看到API中的任何內容說「提交完成」,只有「文件完成」。您可以發現提交是否被取消。我不知道將文件簽入事件合併回完整的簽入事件是多麼容易。

* StarteamMPX是Starteam的擴展(支付),它可用於2006 R2。所有這些顯然只有在啓用時才適用。


我的經驗: 我公司沒有啓用該擴展,並使其能需要升級,即更多的錢。所以它沒有發生(我認爲這足以讓Starteam付出代價)。在這一點上,我放棄了我的研究,以上都沒有實現過。我希望這對某人有用。

0

我一直在做這個主題的一些功課,所以將分享我學到的東西。現在

微聚焦這一類的事情提供了一個通知代理工具:

http://www.youtube.com/watch?v=QTKAT-ufkIs

這是一個額外的一分錢一分貨,雖然。

我一直在琢磨如何通過上面Dan的帖子中給出的建議來「滾動你自己」。是的,MPX似乎是要走的路,雖然研究CheckinListener後,這是不是你以後的類。爲了澄清,CheckinListener用於通過執行檢入,以便它可以監視登記手續的進展客戶端(或許以顯示一個進度條,這種事情)。

這裏是長什麼樣聽MPX事件,如一些示例代碼:

 Server s = new Server(strAddress, nPort); 
    s.connect(); 
    s.enableMPX(); // must do this for MPX support 
    s.logOn(strUsername, strPassword); 

    Project p = s.findProject("mylovelyproject"); 

    View v = p.s.findView("mylovelyview"); 

    ItemListener listener = new ItemListener() 
    { 

     public void itemAdded(ItemEvent e) 
     { 
      System.out.println("itemAdd() - " + e.getNewItem().getComment()); 
     } 

     public void itemMoved(ItemEvent e) 
     { 
      System.out.println("itemMoved() - from: " + e.getOldItem().getParentFolderHierarchy() + ", to: " + e.getNewItem().getParentFolderHierarchy()); 
     } 

     public void itemChanged(ItemEvent e) 
     { 
      System.out.println("itemChanged() - " + e.getNewItem().getComment()); 
      System.out.println(" - from: v" + e.getOldItem().getDotNotation().toString()); 
      System.out.println(" - to: v" + e.getNewItem().getDotNotation().toString()); 
      User locker = e.getNewItem().getLocker(); 
      if (locker != null) 
       System.out.println(" - locked by:" + locker.getDisplayName()); 
      else 
       System.out.println(" - not locked"); 
     } 

     public void itemRemoved(ItemEvent e) 
     { 
      System.out.println("itemRemoved() - " + e.toString()); 
     } 
    }; 

    v.addItemListener(listener, s.getTypes().FILE); 

的MPX相關的項目集中在這裏新的ItemListener()(該怎麼做你聽的事件)和v.addItemListener()(您希望收聽的starteam視圖)。

示例代碼會將各種打印輸出吐出到控制檯,因爲視圖中的文件被添加/修改/移動/刪除。

除了ItemListener,您還有ViewListener和ProjectListener。每個接口提供了事件監聽的範圍不同,更多信息關於這方面的SDK文檔,也是一個不錯的文章在這裏:

http://conferences.embarcadero.com/article/32231#MPXEventHandling

所以,如果你想要滾你自己的電子郵件通知,這些MPX事件提供了你的答案的一部分(一種傾聽這些變化事件的方式)。

你需要考慮在此之後其他方面:

  • 如何允許用戶訂閱各種服務器/項目/視圖,以決定他們想要聽什麼。

  • 如何通過電子郵件發送給用戶他們想要的東西(StarTeam的Server類提供了一個.SendMail()方法,這可以在這裏幫助)。

一旦所有這些基地都包括在內,你應該有一些做的伎倆。在接下來的幾天裏我會自己開展這樣的工作,我會盡我所能。