签入代码(新建分支,新建推拉请求)关联工作项,却找不到自己需要的工作项
问题描述
TFS 2017在用户体验方面,相比之前的版本已经做了非常大的提升。由于变化大,使用手册和文档(特别是中文)的更新不及时,在使用过程中用户往往存在许多困惑。
昨天我在页面中签入代码,同时需要关联工作项,缺无论如何也找不到我需要的工作项,如图1。但是我通过工作项查询,却可以查到我需要的工作项,如图2.
这种情况,当用户在新建分支、新建推拉请求过程中,都出现通用的现象。
图1 - 签入代码过程中关联工作项
图2 - 在工作项查询中按照标题查询工作项
解决方案
最初怀疑是由于我使用的中文过程模板,导致搜索功能没有考虑到这一点,但是不能确定根源。
于是与微软TFS产品研发部门的工程师联系,最后获得研发人员权威答复,TFS系统并不是从所有工作项(有权限访问的工作项)中筛选标题或ID,而是从一个特定的查询中筛选工作项,这个查询的条件是:
SELECT [System.Id] FROM WorkItems WHERE ([System.AuthorizedAs] = @me AND [System.AuthorizedDate] >= @today - 30) OR ([System.CreatedBy] = @me AND [System.CreatedDate] >= @today - 30) OR ([System.AssignedTo] = @me AND [System.AuthorizedDate] >= @today - 30) ORDER BY [System.AuthorizedDate] DESC |
图3 - 工作项查询
(微软ALM MVP 张洪君 http://www.cnblogs.com/danzhang)
把微软工程师的查询放到我的系统中验证,果然如此,疑虑解决了。
但是这中现象实在让人比较困惑,一般情况下,用户都会认为在所有工作项中筛选,而不是在特定的查询中筛选。
随后给产品组提出建议,建议修改这个查询,改为从拥有权限的工作项中筛选,或者提供一个链接,描述当前这种查询的机制,希望产品组可以接纳这个建议。