我创建了一个名为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}