我有一个要求,如下所示:
变量组A有7组键值对变量组B有7组键值对。
在这两种情况下,关键点相同,但值不同。
我向用户询问,在变量组B中注入的值,用户给我提供了变量组A的名称。
执行此类更新的代码片段如下:
export reference_env="Variable Group A"
export target_env="Variable Group B"
values=(addressSearchBaseUrl addressSearchSubscriptionKey cacheUrl calendarApiUrl checkoutBffApiUrl cpCode)
groupId=$(az pipelines variable-group list --group-name "${reference_env}" | jq -r '. [].id')
#grab groupid for further checks later on.
az_create_options=()
for ptr in "${values[@]}"
do
result=$(
az pipelines variable-group list --group-name "${Variable Group ${reference_env}" | jq '.[0].variables.'${ptr}'.value'
)
printf "%st%st%dn" "$ptr" "$result" $?
if [[ "$ptr" = "calendarApiUrl" ]]
then
echo "INF: Updating $ptr with new value"
result="https://noname-api.platform.test.com.au/marketing/calendar/v1/AvailableDates/market1/"
insertString=";rev=${target_env}"
lookingfor="v1"
result=$(echo $result| sed s/"${lookingfor}"/"${insertString}"/g)
echo $result
fi
az_create_options+=("$ptr"="$result" )
done
declare -p az_create_options
az pipelines variable-group variable update --group-id 1202 --name "${target_env}" "${az_create_options[@]}"
然而,当我运行此程序时,我会得到如下错误:注意:我已经根据IP屏蔽了这些值,但错误是相同的。
ERROR: unrecognized arguments: addressSearchBaseUrl="https://xxxxxxxxxx" addressSearchSubscriptionKey="yyyyyyyyyyyyyyy" cacheUrl="qqqqqqqqqqqqq" calendarApiUrl=tttttttttttttttt checkoutBffApiUrl="sssssssssssssssss" cpCode="333333"
有人能指引我吗?
您错误地使用了更新命令:
az pipelines variable-group variable update --group-id
--name
[--detect {false, true}]
[--new-name]
[--org]
[--project]
[--prompt-value {false, true}]
[--secret {false, true}]
[--subscription]
[--value]
name
是一个可用的名称。因此,如果你想更新每个变量,你需要一个接一个地更新它。