我有一个自定义代码活动,可在构建过程结束时发送状态电子邮件。到目前为止,我有它工作,除了我似乎无法获得Associated Changesets和Work Items。
现在我正在使用下面的代码尝试获取更改集和工作项,但它返回一个空列表。
IList<IChangesetSummary> changesetSums = InformationNodeConverters.GetAssociatedChangesets(buildDetails);
IList<IWorkItemSummary> workItemSums = InformationNodeConverters.GetAssociatedWorkItems(buildDetails);
我的CodeActivity在AssociateChangesetsAndWorkItems活动运行并完成后运行良好,并且变更集和工作项显示在Visual Studio的构建摘要中。
答案 0 :(得分:2)
问题是, IBuildDetail 在整个构建完成之前不会得到更新,要么在构建过程中使用引用本身,要么单独查询新的 IBuildDetail 。我在过程结束时执行 Powershell 脚本时都试过了(代理和控制器上的行为都相同)。
我所做的解决方案是使用 associatedChangesets 变量,该变量包含默认流程模板中 AssociateChangesetsAndWorkItems 活动的结果。这为您提供了一组关联的变更集。
获取相关的工作项将很容易,因为这些信息应该已经存在。但是,我没有对此进行测试,因为我不需要工作项目。