2016-09-20 103 views
0

我嘗試了這些步驟,並且我創建了一個類似於此網站的示例擴展https://www.visualstudio.com/en-us/docs/integrate/extensions/get-started/nodeTFS網頁訪問(TFS 15)中的自定義菜單

但我需要傳遞參數到我打開使用這個新的擴展的網站。可能嗎 ?

這樣的參數:TFS正在運行的項目名稱,環境(TFS URL)。

我在嘗試在內部託管在IIS上的MVC應用程序中打開頁面時遇到了錯誤,該應用程序在UI中使用Durandal,Knockout和HTML 5。

不能附上截圖粘貼新的擴展腳本

"icons": { 

    }, 
    "contributions": [ 
     { 
      "id": "Fabrikam.HelloWorld", 
      "type": "ms.vss-web.hub", 
      "description": "Adds a 'Hello' hub to the Work hub group.", 
      "targets": [ 
       "ms.vss-work-web.work-hub-group" 
       ], 
      "properties": { 
       "name": "Hello Testing", 
       "order": 99, 
       "uri": "http://test-server/AdminConsole2015Beta/#/tfsreports/boc_projects/ALM/alm-beta-app1/0" 
      } 
     } 
    ], 
    "scopes": [ 
     "vso.work" 
    ], 
    "files": [ 
     { 
      "path": "tfsReports.html", "addressable": true 
     }, 
     { 
      "path": "scripts", "addressable": true 
     }, 
     { 
      "path": "sdk/scripts", "addressable": true 
     } 

    ] 
} 

部分在上面的腳本我想這將打開使用迪朗達爾路由後的頁面tfsreports.html URI屬性打開URL。這可能嗎?見截圖做參考Extension jason script

+0

你叫什麼通過的細節意思參數到網站?您是否只想在HTML頁面中顯示TFS運行的項目名稱和環境(TFS URL)?或者是其他東西? –

+0

你正在創建的擴展的類型是什麼?您提供的代碼是創建自定義集線器,但在標題中提到了自定義菜單。你想在TFS門戶網站上顯示該網站還是在瀏覽器中打開一個新標籤頁?您可以像項目名稱TFS Url那樣獲取所需的參數,但是如何將它們傳遞到您的站點?通過URL參數? –

+0

對不起,我正在創建一個自定義集線器而不是菜單。我想通過像這樣的參數http:// alm-test-test:8080/AdminConsole2015Beta /#/ tfsreports/boc_projects/{Project Name}/{TFS Url} –

回答

0

更新您的擴展,如下所示:

  1. 在manifest文件中,更新的「貢獻」到「tfsReports.html」「URI」。

  "properties": { 
 
       "name": "Hello Testing", 
 
       "order": 99, 
 
       "uri": "tfsReports.html" 
 
      }

  • 添加以下在 「tfsReports.html」 內容:
  • <!DOCTYPE html> 
     
    <html xmlns="http://www.w3.org/1999/xhtml"> 
     
    <head> 
     
        <title>Hello World</title> 
     
        <script src="sdk/scripts/VSS.SDK.js"></script> 
     
    </head> 
     
    <body> 
     
        <script type="text/javascript">VSS.init();</script> 
     
        <h1>Hello World</h1> 
     
        <script type="text/javascript"> 
     
        VSS.init(); 
     
        VSS.ready(function() { 
     
         var webContext = VSS.getWebContext(); 
     
         var projectname = webContext.project.name; 
     
    \t var TFSUrl = webContext.collection.uri; 
     
         var reportFrame = document.getElementById("reportFrame"); 
     
    \t var finalurl = "http://test-server/AdminConsole2015Beta/#/tfsreports/boc_projects/ALM/alm-beta-app1/0/" + projectname + "/" + TFSUrl; 
     
    \t reportFrame.src = finalurl; 
     
         VSS.notifyLoadSucceeded(); 
     
        }); 
     
    </script> 
     
    <div id="tfsreport"> 
     
        <iframe id="reportFrame" style="width:100%" frameborder="0"></iframe> 
     
    </div> 
     
    </body> 
     
    </html>

    +0

    感謝您的回覆,它現在正在工作。但如何添加Hub集團?我把這個鏈接稱爲https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/add-hub-group。但它不起作用。 –

    +0

    @shishirsasal遵循你提供的鏈接應該工作。添加集線器組時的詳細問題是什麼? –

    +0

    它的工作感謝你。我在清單文件中給出了另一個目標 –