我正在尝试在汇合中创建一个用户宏,根据用户输入创建许多链接(可能很多)。我使用的2个参数如下:
## @param LNK:title=Link|type=string|required=true|multiple=true
## @param TTL:title=Title|type=string|required=true|multiple=true
用户将输入以下内容:
Link: link_1, link_2, link_3
Title: title_1, title_2, title_3
宏应该创建一个这样的链接列表:
<a href="http://mysite.com/link_1">title_1</a>; <a href="http://mysite.com/link_2">title_2</a>....
我的问题是:如何访问LNK/TTL
param的内容,以便我可以检索link_1, link_2, etc
。我需要获得某种索引才能正确link LNK[1] to TTL[1]
。
欢迎任何帮助!
谢谢!
答案 0 :(得分:3)
好的,所以我找到了一种方法(看起来有点复杂)来做我需要的。这是代码:
## @param VTP:title=VTP Number|type=string|required=true|multiple=true|desc=VTP number from JIRA (ex: VTP-1)
## @param TCI:title=Test Case Identifier |type=string|required=true|multiple=true|desc=Test Case Identifier (ex: IN_TC01)
#set ($LVTP = [])
#set ($LTCI = [])
#set ($VTP = $paramVTP.split(";"))
#set ($TCI = $paramTCI.split(";"))
#foreach ($element in $VTP)
#set ($xxx = $LVTP.add($element))
#end
#foreach ($element in $TCI)
#set( $xxx = $LTCI.add($element))
#end
#set ($end = ($LVTP.size() - 1))
#foreach ($i in [0..$end])
[<a href="http://myconfluence.com/browse/$LVTP.get($i)" target="_blank">$LTCI.get($i)</a>]
#end
我必须这样做,因为它似乎是通过$VTP and $TCI
循环在Confluence中访问数组内容(在我的情况下为#foreach
)的唯一方法。 arrays.asList
之类的东西对我不起作用。
如果有人有更优雅的解决方案,请告诉我。