如何从jenkins声明性管道中的powershell中获取变量?
我使用的是jenkins声明性管道。如何从jenkins声明性管道中的powershell中获取变量?,powershell,jenkins,jenkins-pipeline,jenkins-declarative-pipeline,Powershell,Jenkins,Jenkins Pipeline,Jenkins Declarative Pipeline,我使用的是jenkins声明性管道。 在上面的代码中,我试图使用groovy中存储的$env:StorysTested的值,该值是在powershell中分配的。在powershell执行结束后,是否有任何方法可以保留在powershell中分配的变量值。将其存储在env变量中是我想到的一种方法,但显然不起作用。如果使用$env:StorysTested=“some value”设置环境变量,则此变量将存储在powershell进程中,并且在该进程之外不会永久或可见 要创建更多永久性环境变量(即
在上面的代码中,我试图使用groovy中存储的$env:StorysTested的值,该值是在powershell中分配的。在powershell执行结束后,是否有任何方法可以保留在powershell中分配的变量值。将其存储在env变量中是我想到的一种方法,但显然不起作用。如果使用
$env:StorysTested=“some value”
设置环境变量,则此变量将存储在powershell进程中,并且在该进程之外不会永久或可见
要创建更多永久性环境变量(即用户级或机器级),您需要使用.NET Framework和SetEnvironmentVariable
方法:
steps {
script{
env.StorysTested = ''
try{
powershell('''
//some code here
foreach ( $item in $Comments )
{
//some code here
//assigning a new value to StoryTested env variable
$env:StorysTested = "some value"
}
//below line works fine and displays the value
Write-Output "Stories tested : $env:StorysTested"
''')
//below null value is displayed for StorysTested``
echo " From Grrovy : ${env.StorysTested}"
}
catch(err)
{
throw err
}
}
或
要从PowerShell中删除,请使用相同的.NET方法并向变量分配
$null
值,如下所示:
[Environment]::SetEnvironmentVariable("StorysTested", "some value", "Machine")
希望这对您有所帮助如果您使用
$env:StorysTested=“some value”
设置环境变量,则此变量将存储在powershell进程中并且在此进程外不会永久或可见
要创建更多永久性环境变量(即用户级或机器级),您需要使用.NET Framework和SetEnvironmentVariable
方法:
steps {
script{
env.StorysTested = ''
try{
powershell('''
//some code here
foreach ( $item in $Comments )
{
//some code here
//assigning a new value to StoryTested env variable
$env:StorysTested = "some value"
}
//below line works fine and displays the value
Write-Output "Stories tested : $env:StorysTested"
''')
//below null value is displayed for StorysTested``
echo " From Grrovy : ${env.StorysTested}"
}
catch(err)
{
throw err
}
}
或
要从PowerShell中删除,请使用相同的.NET方法并向变量分配
$null
值,如下所示:
[Environment]::SetEnvironmentVariable("StorysTested", "some value", "Machine")
希望有帮助