如何使用 WIQL 查询具有指定评论的工作项链接
How to query Work Item links with specified comment using WIQL
我需要一种快速的方法来获取由 link 评论过滤的 link 的列表。
有代码:
var linkCommentFilter = "Some link comment";
const string queryString = @"SELECT [System.Id]
FROM workItemlinks
WHERE [System.Links.LinkType] = 'Tested By'
AND [System.Links.Comment] = '{0}'
AND ([Source].[System.Id] IN ({1}))";
var query = new Query(store, string.Format(queryString,
linkCommentFilter,
string.Join(",", wiIds)));
var result = query.RunLinkQuery().ToArray();
尝试运行此代码时发生异常"field System.Links.Comment doesn't exist"。我该如何解决?
您无法使用 WIQL 查询具有指定注释的工作项链接,因为 TFS 中没有 System.Links.Comment
字段。
您需要使用TFS rest api到get a list of work items with links and attachments,查看下面的示例代码:
public List<WorkItem> GetWorkItemsWithLinksAndAttachments()
{
int[] workitemIds = new int[] { 1, 5, 6, 10, 22, 50 };
VssConnection connection = Context.Connection;
WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient<WorkItemTrackingHttpClient>();
List<WorkItem> workitems = workItemTrackingClient.GetWorkItemsAsync(workitemIds, expand: WorkItemExpand.Links | WorkItemExpand.Relations).Result;
foreach(var workitem in workitems)
{
Console.WriteLine("Work item {0}", workitem.Id);
foreach (var relation in workitem.Relations)
{
Console.WriteLine(" {0} {1}", relation.Rel, relation.Url);
}
}
然后在workitem.Relations
.
中查找带有relation.Attributes["comment"]
的指定评论
我需要一种快速的方法来获取由 link 评论过滤的 link 的列表。 有代码:
var linkCommentFilter = "Some link comment";
const string queryString = @"SELECT [System.Id]
FROM workItemlinks
WHERE [System.Links.LinkType] = 'Tested By'
AND [System.Links.Comment] = '{0}'
AND ([Source].[System.Id] IN ({1}))";
var query = new Query(store, string.Format(queryString,
linkCommentFilter,
string.Join(",", wiIds)));
var result = query.RunLinkQuery().ToArray();
尝试运行此代码时发生异常"field System.Links.Comment doesn't exist"。我该如何解决?
您无法使用 WIQL 查询具有指定注释的工作项链接,因为 TFS 中没有 System.Links.Comment
字段。
您需要使用TFS rest api到get a list of work items with links and attachments,查看下面的示例代码:
public List<WorkItem> GetWorkItemsWithLinksAndAttachments()
{
int[] workitemIds = new int[] { 1, 5, 6, 10, 22, 50 };
VssConnection connection = Context.Connection;
WorkItemTrackingHttpClient workItemTrackingClient = connection.GetClient<WorkItemTrackingHttpClient>();
List<WorkItem> workitems = workItemTrackingClient.GetWorkItemsAsync(workitemIds, expand: WorkItemExpand.Links | WorkItemExpand.Relations).Result;
foreach(var workitem in workitems)
{
Console.WriteLine("Work item {0}", workitem.Id);
foreach (var relation in workitem.Relations)
{
Console.WriteLine(" {0} {1}", relation.Rel, relation.Url);
}
}
然后在workitem.Relations
.
relation.Attributes["comment"]
的指定评论