2016-12-09 32 views
-1

我的團隊正在計劃使用TFS作爲我們的ALM工具。我們正在評估內部部署和託管選項。 TFS實施的一個要求是能夠與我們的預置票務系統Microsoft SCSM集成。我發現了幾種方法來執行與內部部署TFS的集成。然而,就託管選項(VS Team Services)而言,我無法找到任何信息。是否可以將內部部署的SCSM與VS團隊服務集成?提前致謝!Visual Studio團隊服務和Microsoft SCSM集成

回答

0

SCSM可以通過帶有PowerShell的API(例如REST API)與Visual Studio Team Services集成,類似於與TFS集成。

步驟:

  1. 安裝Visual Studio團隊資源管理器/ Visual Studio中
  2. 安裝Service Manager創作工具
  3. 打開創作工具,並選擇File => New來創建一個新的管理包(如TFS。 Integrations.xml)
  4. 打開管理包資源管理器窗口
  5. 右鍵點擊工作流程=>創建
  6. 進入您工作流程的名稱(例如CreateTFSTaskFromNewIncident)
  7. 在觸發條件選項卡上,選擇僅在數據庫對象滿足指定條件時運行。
  8. 使用瀏覽按鈕選擇事件類。確保更改事件是創建選定類的對象時。然後點擊附加標準按鈕。
  9. 有關其他條件,請選擇分類類別並將其設置爲等於軟件問題。這確保只有新軟件問題事件纔會在TFS中創建任務。
  10. 點擊創建並關閉
  11. 從腳本活動|通用腳本活動,將Windows PowerShell腳本活動拖動到工作區上。在詳細信息窗口中,將活動的名稱更改爲CreateTFSTaskFromNewIncident。然後,在細節窗口中,選擇腳本參數,然後單擊橢圓按鈕。這將打開配置腳本活動。單擊腳本屬性選項卡。這是我可以從事件中獲取觸發工作流的值並在PowerShell中使用這些值的位置。
  12. 添加要參數
  13. 簡單的PowerShell腳本

代碼:

#Load TFS PowerShell Snap-in 
if ((Get-PSSnapIn -Name Microsoft.TeamFoundation.PowerShell -ErrorAction SilentlyContinue) -eq $null) 
{ 
    Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
} 

$Tfs2015AssembliesPath="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.Client.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.Common.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.Build.Client.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.Build.Common.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.Git.Client.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.SourceControl.WebApi.dll" 
#Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.TestManagement.Client.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.VersionControl.Client.dll" 
Add-Type -Path "$Tfs2015AssembliesPath\Microsoft.TeamFoundation.WorkItemTracking.Client.dll" 

#TFS Server Collection 
[string] $tfsCollectionUrl = "[collection url]" 

#Get Team Project Collection 
$teamProjectCollection = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($tfsCollectionUrl) 

#Get Work Item Store object 
$ws = $teamProjectCollection.GetService([type]"Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore") 

#Get Team Project 
$proj = $ws.Projects["project name"] 

#Get the Work Item Type to create 
$wit = $proj.WorkItemTypes["Task"] 

#Create a new work item of that type 
$workitem = $wit.NewWorkItem() 

#Set work item properties 
$workItem.Title = "title" 
$workItem.Description = "des" 
$workitem.AreaPath = "XXX" 
$workitem.IterationPath = "XXX" 

#Save work item 
$workItem.Save() 
  • 單擊保存,然後生成必要的DLL和XML文件(在Windows資源管理器中檢查)
  • 將DLL文件複製到服務管理器管理服務器(例如,C:\ Program Files \ Microsoft System Center 2012 R2 \ Service Manager)
  • 打開服務管理器控制檯
  • 轉到管理工作區=>管理包=>導入
  • 選擇TFS.Integrations。XML =>導入
  • 上班項=>事件管理=>創建事件,創建事件發生後,它會創建任務的工作與以前的PowerShell腳本
  • 轉到管理項目=>工作流=>狀態
  • 選擇相應的工作流程(CreateTFSTaskFromNewIncident)並檢查結果。
  • 這些文章可以幫助你。 (1,2

    +0

    不要將鏈接放到場外資源,而是將實際內容放在答案中。隨着時間的推移,鏈接往往會消失。如果有人在5年內回答這個問題,答案應該是正確的。回答說「看這裏」和「這裏」代表一個不再存在的網站是沒有用的。 –

    相關問題