2017-07-26 35 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