我想使用json文件存储Powershell脚本使用的变量。在azure devops中,我已经配置了管道,管道包含powershell脚本以及其中的变量列表。我想使用json文件并将所有变量存储在此文件中。我想将json文件存储在Azure存储库中,并在管道启动后使用它。我不想使用变量组。我找到了此解决方案[变量的Json ] https://marketplace.visualstudio.com/items?itemName=OneLuckiDev.json2variable&targetId=02fbae5c-cc01-4c8b-a90f-7393a3156347,但我读到了一些有关此任务的免费意见。有什么方法可以使用json文件作为存储变量的地方,或者我可以使用其他文件格式?更新:
为什么不直接使用Powershell内置cmdlet :ConvertFrom-Json
。有关此cmdlet描述,请参阅此官方文档:Powershell:ConvertFrom-Json。
您可以添加脚本:
Get-Content "{JSON file path}" | out-string | ConvertFrom-Json
Get-Content
会将JSON文件读取为字符串数组,然后ConvertFrom-Json
将这些字符串转换为PSCustomObject对象。然后,您可以使用简单的杠杆点表示法(.
)调用完全相同的对象,然后将其以这种格式用于任务脚本。
这是您可以参考的简单示例:
$data = Get-content {your JSON file path}| out-string | ConvertFrom-Json
Write-Output $data.ts
在这里,我在本地Powershell-ISE中进行了尝试,这与Powershell任务中的用法相同。ts
是我的JSON对象之一。$(Build.SourcesDirectory)\..\..\...json
如果您将文件存储在Repos中,则在azure devops中,可以使用类似于指定文件位置的路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句