2017-06-18 41 views
1

禁用我有很多TFS構建高清構建的定義,我試圖讓與MMD_項目說明僅禁用生成定義。的Team Foundation Server如何提取用於特定項目

$baseUrl = "https://tfs.myTFS.net/tfs" 
 
$targetCollection = "DefaultCollection" 
 
$targetProject = "MMD" 
 
# Get an overview of all build definitions in this team project 
 
$definitionsOverviewUrl = "$baseUrl/$targetCollection/$targetProject/_apis/build/Definitions" 
 
$definitionsOverviewResponse = Invoke-WebRequest -UseDefaultCredentials -Uri $definitionsOverviewUrl 
 
$definitionsOverview = (ConvertFrom-Json $definitionsOverviewResponse.Content).value 
 
# Process all builds that have MMD in their name and want only disabled build def seperated from MMD_ 
 
foreach($definitionEntry in ($definitionsOverview | Where-Object { $_.name -like '*MMD_*' })) 
 
{ 
 
    $definitionUrl = $definitionEntry.url 
 
    $response = Invoke-WebRequest $buildDefinitionUrl -UseDefaultCredentials 
 
    $buildDefinition = [Newtonsoft.Json.JsonConvert]::DeserializeObject($response.Content) 
 
#check whether source settings are null or not 
 
\t if(!$buildDefinition.enabled) 
 
    { 
 
     Write-Output $definitionsOverview + 'build definition is disabled' 
 
\t \t # I need process parameter is 
 
    } 
 
}

+0

越來越問題如果循環,這可能是在$ buildDefinition.enabled了Syntex或其他任何東西更多更好的編程? – himanshuk

+0

難道只是一個錯字嗎?你使用$ definitionUrl來定義,但參數$ buildDefinitionUrl來調用? – Curios

回答

0

我假設你正在試圖查詢XAML構建自定義禁止生成定義選項僅在XAML構建系統可用。請確保您使用的是Build API 1.0因爲API 2.0是新vNext構建系統。因此在$definitionsOverviewUrl中,添加?api-version=1.0

而構建定義狀態保存在「queueStatus」屬性時生成定義被禁用或暫停。如果構建定義已啓用,則不會有「queueStatus」屬性。所以你需要相應地更新你的代碼。 enter image description here

+0

我使用API​​2.0,仍然@himanshuk您需要使用API​​1.0查詢XMAL建立我還沒有獲得輸出 – himanshuk

+0

。 –

+0

如何使用它,我只看到它的2.0開始 – himanshuk

相關問題