启用“创建失败时的工作项”时,TFS 2010 Build会出现WorkItemStore错误

时间:2010-12-08 11:59:20

标签: tfs build tfs2010 tfsbuild tfs-workitem

我正在使用TFS 2010 Build。我有一个构建定义,它使用TFS 2010中存储的DefaultTemplate.xaml模板,并且构建定义中的Create Work Item on Failure属性设置为True。我故意在我的项目中做了一个改变,打破了构建。

当构建运行时,我看到编译错误反映在Visual Studio中的TFS构建日志中,但是当TFS构建下一次尝试生成工作项时,我收到错误“值不能为空。参数名称:WorkItemStore”破碎的构建。

我在DefaultTemplate.xaml中查找了活动(请参阅下面相当冗长的路径),其中为破坏的构建创建了工作项,我看到它使用了Microsoft.TeamFoundation.Build.Workflow.Activities.OpenWorkItem用于创建工作项的类。似乎在Create Work Item活动的Properties窗口中填写了适当的值,因此我看不到将WorkItemStore传递给它的位置,我甚至不知道此设置的适当值。

创建工作项活动的路径:
处理>序列> Run On Agent>尝试编译,测试和关联变更集和工作项>序列>编译,测试和关联变更集和工作项>尝试编译和测试>编译和测试>对于BuildSettings.PlatformConfigurations中的每个配置>编译和测试配置>如果BuildSettings.HasProjectsToBuild>对于BuildSettings.ProjectsToBuild中的每个项目>尝试编译项目>处理例外>如果CreateWorkItem>为非Shelveset构建创建工作项>创建工作项

1 个答案:

答案 0 :(得分:0)

构建代理运行的服务帐户是否可以访问团队项目中的工作项?这可能是WorkItemStore对象为空的原因。

通常,构建代理服务帐户会添加到“项目集合构建服务帐户”组中,该组对每个团队项目都具有此访问权限。但是,如果您已自定义流程模板,您的组/权限或未正确设置构建代理 - 那么权限可能不正确。