如何使用CLI命令获取AzureDevops的变量组id

问题描述 投票:0回答:4

我们正在使用 AzureDevops 服务器,并使用预构建任务自动化管道变量组和变量创建,该任务将运行下面的 bash 脚本并将变量和变量组一起生成

由于它是敏感信息,我们需要隐藏此变量值,因此遇到了有关秘密 vraiable 的文章。但是它确定我们不能使用与我们一起使用 VG 和变量作为秘密的相同 az 命令变量创建,需要通过其组 ID 调用现有创建的 VG,并且需要传递秘密值作为第二步。

所以我面临的问题是

在我当前的 bash 脚本中,我们使用以下命令一起创建变量组和变量。

az pipelines variable-group create --project=myproject --name $variable_group_name --authorize true --variables mynKey=$my_key

因此,如果我想将其拆分为命令,则不确定如何获取创建的变量组的组 ID。

az pipelines variable-group create  --project=$projectname --name $variable_group_name --authorize true

az pipelines variable-group variable create --group-id <?????> --name myKey --project=$projectname --secret  true --value $my_key
azure-devops azure-pipelines azure-devops-rest-api azure-deployment azure-devops-server-2019
4个回答
3
投票
$group_id = $(az pipelines variable-group list -p $(System.TeamProject) --group-name "variable_group_name" --query '[0].id' -o json)

这会将变量组 id 提取到 $group_id 变量中

如果变量组不存在,则上面将简单地返回空结果


2
投票

在 Azure DevOps CLI(

az pipelines variable-group create
) 的响应中,它可以包含创建的变量组 ID。

您可以直接在 CLI 响应中获取 ID。

这是一个例子:

ID=$(az pipelines variable-group create --org "https://dev.azure.com/xx/" --project "azure" --name "xx" --authorize true --variables "key=value" --query 'id' -o  json)


echo  $ID

您还可以使用logging命令将Groupid设置为Pipeline变量。

echo "##vso[task.setvariable variable=GroupID]$ID"

这里是关于 在 CLI 响应中获取值的文档。


1
投票

您可以使用

list
命令来实现此目的。如果您提供刚刚创建的变量组的完整组名称,您应该得到它的 ID:

az pipelines variable-group list -p myproject --group-name $variable_group_name

0
投票

您还可以在 Azure 网站上打开组时从 URL 中获取变量:

https://dev.azure.com/myorg/project/_library?itemType=VariableGroups&view=VariableGroupView&variableGroupId=175&path=some-var-group

这里 URL 参数

variableGroupId
为我们提供了变量 id
175

© www.soinside.com 2019 - 2024. All rights reserved.