我的示例yaml文件如下所示:
cluster:
a: val1
b: val2
c: val3
list:
k1:
- n11
- n2
k2:
- n1
因此,jenkins管道有2个输入,即input1和input2的名称。创建后,我需要更新yaml文件。我需要基于input2添加input1,如果input2=k1,我需要在k1部分中添加input1。我正在jenkins管道中尝试执行以下命令:第一个月
但它抛出错误:
jq: error: strenv/1 is not defined at <top-level>, line 1:
.cluster.vms[strenv(a)] += strenv(b)
1条答案
按热度按时间6gpjuf901#
情况1:如果您的变量在管道中声明:
yq -iY .cluster.list[$key] += $val
其中,-iY将编辑yaml文件,$key保存输入1的值,$val保存输入2的值第二种情况:如果没有声明$key和$瓦尔,则以下命令有效:
yq -iY --arg key k1(or k2) --arg val value .cluster.list[$key] += $val