tes*_*r81 3 json azure-powershell azure-devops azure-pipelines
我想使用 json 文件来存储 powershell 脚本使用的变量。在 azure devops 中,我配置了管道,管道包含带有变量列表的 powershell 脚本。我想使用 json 文件并将所有变量存储在此文件中。我想将 json 文件存储在 Azure 存储库中,并在管道启动后使用它。我不想使用可变组。我找到了这个解决方案 [ Json to Variable ] 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
Run Code Online (Sandbox Code Playgroud)
Get-Content将 JSON 文件读入一个字符串数组,ConvertFrom-Json并将这些字符串转换为 PSCustomObject 对象。然后您可以使用简单的杠杆点符号(.)调用精确对象,然后将其以这种格式使用到任务脚本中。
这是简单的示例可以供您参考:
$data = Get-content {your JSON file path}| out-string | ConvertFrom-Json
Write-Output $data.ts
Run Code Online (Sandbox Code Playgroud)
在这里,我在我的本地 Powershell-ISE 中进行了尝试,这与 Powershell 任务中的用法相同。ts是我的 JSON 对象之一。在 azure devops 中,$(Build.SourcesDirectory)\..\..\...json如果将文件存储在 Repos 中,则可以使用类似路径来指定文件位置。
| 归档时间: |
|
| 查看次数: |
6783 次 |
| 最近记录: |