2017-07-26 79 views
0

我有一個powershell腳本,它根據來自XML屬性文件的'type'讀取節點值,現在我想從TFS讀取一個參數'type'節點值Git XAML構建過程。如何在XAML構建過程中聲明參數並在構建腳本時讀取它?從XAML讀取參數Post生成參數到Powershell腳本

$env="Read from XAML build Process" 

$xmlDocPath="D:\*****\ScriptsConfig.xml"; 
[xml]$xmlFile = Get-Content $xmlDocPath; 
$PathToDropUIcssandjss=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty PathToDropUIcssandjss 
$DeployingPackageBranchFolderName=$xml.Objects.Object | Where-Object {$_.type -eq $args[0]} | Select-Object -ExpandProperty DeployingPackageBranchFolderName 
$BranchName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty BranchName 
$ProjectName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty ProjectName 
$Automation=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty Automation 
$DeploymentEnvironment=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeploymentEnvironment 
+0

您是否意味着您想在TFS構建過程中爲PowerShell腳本指定變量?你在使用InvokeProcess活動嗎? –

+0

我的Git模板中沒有Invoke進程 –

回答

0

我能夠通過命令下面

[CmdletBinding()] 
    param([string]$args) 

    $env=[string]$args 

但參數$ ENV未在下面顯示的命令工作,但它的這個塊外面工作,如果我現在讀TFS參數分別顯示它

$SourceDir = $Env:TF_BUILD_SOURCESDIRECTORY 
$xmlDocPath="$SourceDir\ScriptsConfig.xml"; 
[xml]$xmlFile = Get-Content $xmlDocPath; 
$PathToDropUIcssandjss=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty PathToDropUIcssandjss 
$DeployingPackageBranchFolderName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeployingPackageBranchFolderName 
$BranchName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty BranchName 
$ProjectName=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty ProjectName 
$Automation=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty Automation 
$DeploymentEnvironment=$xml.Objects.Object | Where-Object {$_.type -eq $env} | Select-Object -ExpandProperty DeploymentEnvironment