【发布时间】:2016-02-01 07:36:36
【问题描述】:
我正在尝试使用文件参数创建 Jenkins 参数化构建。
用户将选择带参数的构建,并提供一个包含项目列表的文本文档(每行一个)。
我想尝试在我的 powershell 脚本中阅读此列表,然后开始进行一些服务调用(我有点怀疑)。
我正在努力让我的 powershell 脚本读取已传递给 Jenkins 的文件,这是我目前所拥有的
$ids = Import-Csv input.txt
$array = @()
Write-Host $array.Length
foreach($id in $ids){
Write-Host $id.id
$array += $id
Write-Host "Array now has" $array.Length "items"
}
我知道脚本运行正常,因为我可以在 Powershell ISE 中运行并传入 csv/txt 文件的绝对路径。
供参考,input.txt的内容是这样的:
id
2884430041011214,
9751297519392363,
lfsdkjgskdjflgsdjfg
这是我得到的两个输出
Powershell ISE(如预期):
0
2884430041011214
Array now has 1 items
9751297519392363
Array now has 2 items
lfsdkjgskdjflgsdjfg
Array now has 3 items
詹金斯(不是我所希望的)
Started by user anonymous
Building in workspace C:\Users\jonec34\.jenkins\jobs\getParty\workspace
[workspace] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Users\jonec34\AppData\Local\Temp\hudson4035619350462822370.ps1'"
Import-Csv : Could not find file 'C:\Users\jonec34\.jenkins\jobs\getParty\workspace\input.txt'.
At C:\Users\jonec34\AppData\Local\Temp\hudson4035619350462822370.ps1:1 char:8
+ $ids = Import-Csv input.txt
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (:) [Import-Csv], FileNotFoundException
+ FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.ImportCsvCommand
0
Finished: SUCCESS
谁能告诉我如何做到这一点。我也尝试将 Param($file) 放在脚本的开头,并使用 ${WORKSPACE} 但要么它们不起作用,要么我没有正确理解它。非常感谢任何帮助。
谢谢
【问题讨论】:
标签: powershell jenkins powershell-3.0