簡體   English   中英

是否可以在Azure DevOps“變量組”中定義數組變量

[英]Can an array variable defined in Azure DevOps “variable group”

我想在Powershell中使用Azure devops“變量組”中定義一些變量,但是當變量類型是字符串時,它可以工作,但是某些變量是數組或對象出錯。 我的樣子如下。 左邊是名稱 ,右邊是

vmAlertedArray_backup => @("wbubuntu","wbubuntu2")

1.在我使用的Azure devops腳本中,出現錯誤

$vmAlertedArray_backup = $env:vmAlertedArray_backup foreach($c in $vmAlertedArray_backup){ Write-Host "$c" }

2.在本地工作中處於弱勢

$vmAlertedArray_backup = @("wbubuntu","wbubuntu2") foreach($c in $vmAlertedArray_backup){ Write-Host "$c" }

有人可以顯示一些經驗嗎? 謝謝

建議僅將變量作為字符串傳遞。 如果要將對象傳遞給其他任務,則可以使用“ ConvertTo-Json -Compress”將其轉換為json字符串。

$objectString = $object | ConvertTo-Json -Compress
Write-Host "##vso[task.setvariable variable=objectString;]$objectString"

在下一個PS任務中,您可以將其作為環境變量傳遞。 但是,請將變量用單引號引起來。

在此處輸入圖片說明

然后,您可以使用“ ConvertFrom-Json”將字符串轉換為對象。

$getFromEnv = $env:objectString | ConvertFrom-Json
foreach( $obj in $getFromEnv){
    Write-Host ("displayName:{0} Id:{1}" -f $obj.displayName, $obj.Id)
} 

我只是將變量作為字符串傳遞,然后將其拆分以在PowerShell中創建數組

變量= Prod1,Prod2,Prod3

$array = $variable.Split(',)

如果需要,可以在末尾添加一個Trim

變量= Prod1,Prod2,Prod3

$array = $workspaces.Split(',').trim()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM