将一组字符串参数从jenkins传递给powershell

时间:2017-03-15 16:54:21

标签: powershell jenkins

我有以下脚本

function dummy
{
    param([string[]] myArray)
    myArray | foreach {
         #do something with $_
    }
}
来自powershell的

如果我做以下一切都很好     。 ./myscript.ps1     假的' val1',' val2'

但是我无法通过jenkins使用我定义的全局变量来实现

. ./myscript.ps1
dummy $env:myglobal

其中$ env:myglobal =' val1',' val2'
它似乎通过了以下

dummy "'val1','val2'" 

并且虚拟对象将其视为单个字符串而不是字符串数组

1 个答案:

答案 0 :(得分:0)

我可能过于简单了,但基本上环境变量只是字符串(即不是数组!)。

您需要做的是使用-split解析值,例如

function dummy {
    Param (
        [string[]]
        $myArray
    )

    Process {
        [array]$anotherArray = $myArray -split ","
        $anotherArray| ForEach-Object {
             #do something with $_
        }
    }
}