【发布时间】:2017-11-20 21:31:45
【问题描述】:
我在 TFS 中有很多构建定义,我尝试只获取用 MMD_ 项目声明的禁用构建定义。
$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
if(!$buildDefinition.enabled)
{
Write-Output $definitionsOverview + 'build definition is disabled'
# I need process parameter is
}
}
【问题讨论】:
-
在 if 循环中遇到问题,$buildDefinition.enabled 语法或其他更好编程的东西可能是什么?
-
会不会是打字错误?你用 $definitionUrl 来定义,但是参数 $buildDefinitionUrl 来调用?
标签: powershell tfs build