Octopus Deploy -使用索引从数组中选择对象



我创建了一个名为ProcessingScript的变量,其值为

#{each SiteKey in BatchProcessing.SiteKeys}
ftp://#{BatchProcessing.FtpUser[#{Octopus.Template.Each.Index}]}@
{/each}

这个想法是我迭代我的数组SiteKeys,看起来像这个SiteKeys ['customer1-a' customer1-b']和我的FtpUsers看起来像这样['usera', 'userb']

然而,当我预览变量时,它打印

#{BatchProcessing.FtpUser[#{Octopus.Template.Each.Index}]}customer1-a 
#{BatchProcessing.FtpUser[#{Octopus.Template.Each.Index}]}customer1-b

完全忽略索引

我不认为你可以通过索引来引用列表变量。

你可以试试这些变量:

BatchProcessing.SiteKeys = "customer1-a,customer1-b"
BatchProcessing.FtpUser[customer-a] = "usera"
BatchProcessing.FtpUser[customer-b] = "userb"

和这个模板:

#{each SiteKey in BatchProcessing.SiteKeys}
ftp://#{BatchProcessing.FtpUser[#{SiteKey}]}@#{SiteKey}
{/each}

我认为你也可以摆脱SiteKeys变量,如果你只使用它的循环。

BatchProcessing[customer-a].FtpUser = "usera"
BatchProcessing[customer-b].FtpUser = "userb"
#{each site in BatchProcessing}
ftp://#{site.FtpUser}@#{site}
{/each}

最新更新