1

我有一个自定义代码活动,它会在构建过程结束时发送一封状态电子邮件。到目前为止,除了我似乎无法获得关联的变更集和工作项之外,我已经可以正常工作了。

现在我正在使用下面的代码来尝试获取变更集和工作项,但它返回一个空列表。

IList<IChangesetSummary> changesetSums = InformationNodeConverters.GetAssociatedChangesets(buildDetails);
IList<IWorkItemSummary> workItemSums = InformationNodeConverters.GetAssociatedWorkItems(buildDetails);

在 AssociateChangesetsAndWorkItems 活动运行并完成后,我的 CodeActivity 运行良好,并且变更集和工作项显示在 Visual Studios 的构建摘要中。

4

1 回答 1

2

问题是,IBuildDetail在整个构建完成之前不会更新,要么使用构建过程本身中可用的引用,要么单独查询新的IBuildDetail。在进程快结束时执行Powershell脚本时,我都尝试过(代理和控制器上的行为相同)。

我所做的解决方案是使用associatedChangesets变量,该变量包含默认流程模板中AssociateChangesetsAndWorkItems活动的结果。这为您提供了一系列关联的变更集。

获得相关的工作项将很容易,因为该信息应该已经存在。但是,我没有对此进行测试,因为我不需要工作项。

于 2012-02-27T13:38:10.290 回答