Azure Pipeline:从存储库中的 json 文件读取值并将其存储在管道变量中(无 powershell)

Azure Pipeline: Read values from json file in the repo and store it in pipeline variable (without powershell)

我有一个 azure 存储库,每次提交到任何分支都会触发 azure 管道。

在这个 repo 上有一个 json 文件 file.json。 样本内容:

{
 "key1": "value1",
 "key2": "value2" 
}

如何从管道中的 json 文件中读取值并将它们存储在管道变量中? (我想避免 powershell)

我找到了解决办法。首先,您使用以下语法创建一个 bash 操作:

- bash: |
    echo "##vso[task.setvariable variable=varName;]$(jq .key1 file.json)"
  name: setVarFromJsonFileValue

使用jq .key1 file.json可以读取key1的值。

jq 是一个 cli 工具,似乎是预装的。

现在 value1 存储在管道变量 varName 中,您可以像这样在整个作业中访问它:

- script: |
    echo $(varName) 
  displayName: output value of var

输出为value1