TFS聚合器不执行乘法运算

时间:2015-08-07 15:20:48

标签: tfs tfs-workitem tfs-aggregator

我需要在请求中将两个字段相乘。所以我将下面的代码放入AggregationItems.xml

<AggregatorItem name="score_mult" operationType="Numeric" 
                operation="Sum" linkType="Self" workItemType="Request">
    <TargetItem name="Score"/>
    <SourceItem name="DEV Score"/>
    <SourceItem name="Customer Score"/>
</AggregatorItem>

它根本不起作用。应用程序日志在事件查看器中也不显示任这里的代码有问题吗?

2 个答案:

答案 0 :(得分:1)

&#34; old&#34;聚合器有很多问题。尝试开发中的新版本可能会更好,即使我们还没有发布最终版本,它已经修复了旧聚合器中的许多问题。 / p>

可能导致此行为的问题:

  • 您的操作目前是operation="Sum"而不是"Multiply",如果乘法是您想要的,则需要更改
  • Multiply仅在旧版本的聚合器中所有数据类型相同时才起作用。因此,请确保TFS流程配置中的所有字段均为double
  • 您正在使用的TFS聚合器版本不支持整数字段。有一个旧解决方案的分支,但有许多修复支持整数计算。见下文。
  • 通过显示名称引用字段比使用引用名称要脆弱得多。因此,您可以使用DEV Score代替YourCompany.Custom.DevScore
  • TFS服务帐户可能(如果配置正确)无权编辑项目集合中的工作项。如果需要,将其添加到“贡献者”组。
  • 如果配置正确,TFS服务帐户未以管理员身份运行,因此您需要为其创建一个事件源,以便Eventlog消息传递起作用。见下文。
  • 如果您有多个项目集合请勿使用旧TFS AGGREGATOR ,它会尝试将一个集合中的工作项更改应用于您已配置的项目中的工作项。这可能会导致其他工作项中的数据不正确。
  • 使用DivideMultiply规则时,空字段和值的处理值存在多个问题。当你不期望它时,这可能导致除以1。

这些问题已在TFS Aggregator 2.0的最新开发版本中得到解决。我们发布的上一个测试版仍然存在一些问题,因此我建议从开发分支下载最新的版本。你可以在这里找到:

有一个旧分支,其中包含许多针对上述问题的修复程序&#34;旧样式插件&#34;我们抛弃了新系统。如果你愿意,你可以克隆这个确切的版本并构建它来解决你的很多问题,它适用于Integer字段。

为了帮助调试,请将Visual Studio调试器附加到托管TFS的IIS服务器上(我建议在本地计算机上运行的实例上执行此操作以进行测试)。要允许TFS将事件记录到事件日志中,请确保&#34;应用程序&#34;源已创建,您的TFS服务未以管理员身份运行,无法自行创建该源。从运行提升的powershell控制台:

New-EventLog -LogName "Application" -Source "TFSAggregator"

答案 1 :(得分:0)

TFSAggregator https://github.com/Vaccano/TFS-Aggregator/releases/tag/1.2RC 只能乘以双字段。 我将字段类型更改为double,现在工作正常。 在不久的将来,我们将使用新版本的tfs聚合器。