首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Polarion速度脚本添加自定义字段整数

Polarion速度脚本添加自定义字段整数
EN

Stack Overflow用户
提问于 2022-11-08 15:45:11
回答 1查看 47关注 0票数 1

我是速成脚本的新手,我做了几个简单的脚本,它们可以正常工作。我现在正在尝试其他的东西,这应该是简单的,但我似乎无法让它发挥作用。

我正在选择一堆工作项,读取一个自定义字段(NumberPack),我只想对它们进行求和。

我的脚本如下:

代码语言:javascript
运行
复制
#set($PCR = $transaction.workItems.search.query("type:Paramrequest AND created:[20220101 TO 30000000] AND NumberPack.1:[00000000001 TO 02147483647]"))
#set($Total = 0)
#set($Pack = 0)
#set($x = 0)

#foreach($PCR in $PCR)
    ##set($Pack = $Pack.parseInt($PCR.fields.get("NumberPack")))
    ##set($x = $Total.add($Pack))
    $PCR.fields.get("NumberPack").render ## this renders each NumberPack of each WI
    #set($Pack = $PCR.fields.get("NumberPack"))
    ##set($x = $Total2.add($PCR.fields.get("NumberPack")))
    ##set($Total2 = $Total2 + 1)
    #set($x = $math.add($x, 1))

#end

<br> Total: $Total
<br> $x

正如您所看到的,我尝试了一些方法,但是我一直得到总数为0。

知道我做错什么了吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-08 17:22:01

如果你写

代码语言:javascript
运行
复制
#set($Pack = $PCR.fields.get("NumberPack"))
Pack: $Pack <br>

输出内容类似于:

代码语言:javascript
运行
复制
Pack: com.polarion.alm.server.api.model.fields.ProxyIntegerField@67807d51 

在API (https://almdemo.polarion.com/polarion/sdk/doc/javadoc-rendering/com/polarion/alm/shared/api/model/fields/IntegerField.html)中,您会发现api.model.fields IntegerField有一个get()方法,它给出了值。虽然我同意这一点从未在文档中明确说明过。

你需要写

代码语言:javascript
运行
复制
#set($Pack = $PCR.fields.get("NumberPack").get())

为了得到价值。下面的语句将给出累计的总和。

代码语言:javascript
运行
复制
#set($Total = $math.add($Total, $PCR.fields.get("NumberPack").get()))

也要小心你的#foreach语句。在这种情况下,它似乎可以工作,但是给您的迭代器变量一个与您正在迭代的集合不同的名称是更安全的。例如:

代码语言:javascript
运行
复制
#foreach($PCR in $PCRs)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74363493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档