You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用AZ CLI将本地多个JSON文件导入Azure DevOps变量组

批量导入JSON文件到Azure DevOps变量组的修正脚本

问题背景

现有PowerShell脚本仅支持导入单个JSON文件到Azure DevOps库变量组,需要修改为可批量导入指定目录下所有JSON文件(当前需求为3个)的版本。

修正后的脚本

$jsonFilesDirectory = "C:\variables" 
$orgUrl = "https://dev.azure.com/<org-Name>"
$projectName = "<Project-name>"

# 获取目录下所有JSON文件
$jsonFiles = Get-ChildItem -Path $jsonFilesDirectory -Filter *.json 

foreach ($json in $jsonFiles) 
{
    # 直接使用文件完整路径,避免路径拼接错误
    $jsonContent = Get-Content -Path $json.FullName | Out-String 

    $variableGroup = $jsonContent | ConvertFrom-Json

    $groupName = $variableGroup.name
    $description = $variableGroup.description
    $variablesObject = $variableGroup.variables
    
    $variablesHashtable = @{}
    foreach ($property in $variablesObject.PSObject.Properties) {
        $variableName = $property.Name
        $variableValue = $property.Value.value
        $variablesHashtable[$variableName] = $variableValue
    }
    # 将哈希表转换为Azure CLI所需的键值对字符串
    $variablesString = $variablesHashtable.GetEnumerator() | ForEach-Object { "$($_.Key)=$($_.Value)" }
    
    # 每个JSON文件对应创建一个变量组
    az pipelines variable-group create `
        --name $groupName `
        --variables $variablesString `
        --description $description `
        --detect false `
        --org $orgUrl `
        --project $projectName
}

修改说明

  1. 循环逻辑修正:将az pipelines variable-group create命令移至foreach循环内部,确保每个JSON文件都会触发一次变量组创建操作——原脚本中该命令在循环外,仅会执行最后一次循环的变量值。
  2. 路径优化:使用$json.FullName直接获取文件完整路径,避免手动拼接路径可能出现的错误。
  3. 配置解耦:将组织URL和项目名称单独提取为变量,便于后续维护修改。

内容的提问来源于stack exchange,提问作者albbla91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 11:32:10