如何通过CLI命令获取Azure DevOps新建variable group的id
Azure DevOps Server 自动创建密文变量组解决方案
我们在使用Azure DevOps Server通过预构建任务运行bash脚本,自动完成流水线变量组及变量同步创建的场景中,因为变量包含敏感信息需要隐藏,需要使用密文变量。但原有的同步创建变量组与变量的az命令不支持直接创建密文变量,需要拆分为两步操作:先创建变量组,再通过变量组ID为已创建的变量组添加密文变量。
核心解决方法
az cli执行创建变量组的命令时会返回包含变量组ID的结构化结果,我们可以直接通过参数提取ID存入bash变量,直接供给后续命令调用即可,无需额外查询接口。
具体改造后的脚本命令
# 第一步:创建变量组同时提取返回的ID存入VG_ID变量 VG_ID=$(az pipelines variable-group create --project=$projectname --name $variable_group_name --authorize true --query id -o tsv) # 第二步:使用刚获取到的变量组ID添加密文变量 az pipelines variable-group variable create --group-id $VG_ID --name myKey --project=$projectname --secret true --value $my_key
参数说明
--query id:指定从命令返回的JSON结果中提取id字段的值,也就是我们需要的变量组ID-o tsv:将输出格式转换为无额外格式的纯文本,避免多余符号污染变量值
注意事项
- 运行脚本前需要确保az cli已经完成Azure DevOps的身份认证,使用的账号具备对应项目下变量组的创建、编辑权限
- 如果是在流水线任务中运行,需要确保任务使用的服务账号已经开通了对应权限
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

